Technology Blogs by SAP
Learn how to extend and personalize SAP applications. Follow the SAP technology blog for insights into SAP BTP, ABAP, SAP Analytics Cloud, SAP HANA, and more.
cancel
Showing results for 
Search instead for 
Did you mean: 
former_member183750
Active Contributor
0 Kudos

At the risk of demonstrating my intelligence or rather lack thereof, I'd like to document my experience while training on the BusinessObjects Enterprise XI R2  Web Services (WS) SDK. I found the errors typically thrown by the SDKs to be quite difficult to decipher. Perhaps this blog will save others from hours of slogging through these error messages.In a nut shell, my experience is that many of the errors I encountered were a result of incorrect or malformed URLs for the services I was trying to connect to.  In order to eliminate or reduce the possibility of incorrect or malformed URLs it would probably be a ‘best practice’ to return a URL from a service once the Session service object is created. I.e. to get the biplatform service use:session.GetAssociatedServiceURL(“BIPlatform”) which should return:  [http://<computer_name>:8080/dswsbobje/services/BIPlatform | http://<computer_name>:8080/dswsbobje/services/BIPlatform] This should prevent typographical errors and make it easier to move the application from development to test to production since you only have to change the url to the session service. Following is a number of error descriptions, where the error occurs, why it occurs and troubleshooting tips. Setting incorrect connection to the BOE web service at this line of code:
boConnection = New BusinessObjects.DSWS.Connection("http://lm-20-devbase:8080/dswsbobje/services/Session1")

Results in error on this line:
boSessionInfo = boSession.Login(boEnterpriseCredential)

The error is:
BusinessObjects.DSWS.DSWSException was unhandled by user code
CallStackTrace="   at System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall)    at
*  .
  .
  .
*  CauseException="SoapException"
  CauseMessage="The ludek.uher/blog/2009/03/30/errors-with-businessobjects-enterprise-xi-r2-web-services-ws-sdk/action cannot be processed at the receiver."
  ID="S2"
  Message="Login exception (Error: WSE 99999)"
  Operation="[http://session.dsws.businessobjects.com/2007/06/01/Login | http://session.dsws.businessobjects.com/2007/06/01/Login]"
  Source="DSWS Web Service Consumer"
  WebServiceID=""

Resolution:
The connection object is incorrect and / or uses a malformed URL.  To test that the URL is valid, paste the URL into a browser and add “?wsdl”.

For example to testhttp://lm-20-devbase:8080/dswsbobje/services/Session1paste the URL into the browser ashttp://lm-20-devbase:8080/dswsbobje/services/Session1?wsdl. You should now be able to view the WSDL in the browser.

///////////////////////////////////////////////////////////////////////////////////////////

Setting incorrect BOE logon credentials:<br />boEnterpriseCredential = New BusinessObjects.DSWS.Session.EnterpriseCredential
boEnterpriseCredential.Login = "Administrator"
boEnterpriseCredential.Password = "Password123"
boEnterpriseCredential.Domain = "something"

Results in error on this line:
boSessionInfo = boSession.Login(boEnterpriseCredential)

The error is:<br />BusinessObjects.DSWS.DSWSException was unhandled by user code CallStackTrace="com.crystaldecisions.sdk.exception.SDKServerException: Enterprise authentication could not log you on. Please make sure your logon information is correct. (FWB 00008)  cause:com.crystaldecisions.enterprise.ocaframework.idl.OCA.oca_abuse: IDL:img.seagatesoftware.com/OCA/oca_abuse:3.2 detail:Enterprise authentication could not log you on. Please make sure your logon information is correct. (FWB 00008)  The server supplied the following details: OCA_Abuse exception 10499 at ludek.uher/blog/2009/03/30/errors-with-businessobjects-enterprise-xi-r2-web-services-ws-sdk/.\exceptionmapper.cpp : 67]"<br />Source="DSWS Web Service Consumer"<br />WebServiceID=""</p><p>Resolution:                                                                                Test the URL in a browser, and the url should be to the correct Web service.<br /><br /> ///////////////////////////////////////////////////////////////////////////////////////////</p><p>An attempt to view an unscheduled report instance results in error on this line:
myReportCUID = boInfoObjects.InfoObject(0).CUID</p><p>The error is:
System.NullReferenceException was unhandled by user code<br />Message="Object reference not set to an instance of an object."<br />Source="App_Web_khollmby"<br />StackTrace:<br />at WSSDK.ViewDocumentInstance_WS(String myDocument) in C:\SDKStudent\WS2WebSite\WSSDK.aspx.vb:line 205    at <br />  .
  .
  .
Resolution:*
The actual cause here is the query did not return any infoobjects, so the collection is empty.  The best solution would be to test the query using QueryBuilder on the Enterprise system to verify that the query actually returns results.

1 Comment