cancel
Showing results for 
Search instead for 
Did you mean: 

xMII and Webdynpro Integration problem

Former Member
0 Kudos

Hi,

While trying to integrate SAP XMii webservices with Webdynpro and we are facing some issues while doing the proces. Let me explain the steps that we folowed.

1) In the SAP Xmii editor we have created the webservice.

2) The input and output has also been defined as said in the https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/c0e74673-718f-2910-c4a7-bbae959d... link.

3) While importing the URL in the webdynpro model, an error is thrown like <b>Invalid WSDL or WSDL not found, Please specify different wsdl or check the WSDL entered.</b>

4) But when this URL is opened in a browser the xml file is shown.

5) But the target address URL in the webservice (generated via SOAPRunner) is asking for user credentials and it doesn’t take any of the ID’s that we are using. When we give localhost in the server name it opens up the target URL but when the server name is given it doesn’t.

Might be because of this the error is thrown while importing the model in Webdynpro.

Has anyone come accross a similar kind of issue??? Guide me in the same.

Thanks and regards,

- Nagarajan.

Accepted Solutions (1)

Accepted Solutions (1)

former_member4529
Active Contributor
0 Kudos

Hi Nagarajan,

Also if you have problem in accessing the xMII service (WSDLGen) from the Netweaver Developer Studio you can save the WSDL file locally and select that by clicking the Browse button in the WSDL selection screen in NWDS.

Thanks,

Dipankar

Answers (3)

Answers (3)

Former Member
0 Kudos

Hi,

Thanks for ur responses.

Now i m able to get the webservice URL into Webdynpro without any problem. But when i execute it from webdynpro i get an exception stating "Unknown Host : <xMII Host>".

xMII is in different host. But the development of webdynpro is in different host which doesn't have xMII stuff installed.

But still the webservice generated soapRunner URL is asking for user crdentials.

Any inputs???

Thanks and Regards,

Nagarajan.

former_member4529
Active Contributor
0 Kudos

Hi Nagarajan,

Please check whether the server where you are running the WDP app has the host file entry (hostname IP resolution) for the xMII server. For the user credentials to call the xMII web service from WDP you need to pass the user id and password in the webservice input paramters only as explained in my document.

Also please let me know what's the reason for issue you had previously and how it got solved.

Thanks,

Dipankar

Former Member
0 Kudos

Hi Dipankar,

Looks Good..... Now the webservice got executed after an entry of the xMII host is made in the WAS server host.

<u><i>Previous problem</i></u>: We had xml file to be given as input to the webservice and the output was also an xml file. Now we changed the iput and output to string and it got worked. That's it...

Is it possible to give an XML input and also get an XML output from the webservice in webdynpro? If so kindly give me a hint on how to add a VALUE IN xml FILE or read a vaue from the output xml.

Thanks and Regards,

Nagarajan.

former_member4529
Active Contributor
0 Kudos

Hi Nagarajan,

I think this is currently an issue with xMII - if you have an input parameter in the BLS transaction's input parameter the WSDLGen service generates incorrect WSDL (specifies the type of the input parameter of type Xml). So the you need to add input parameters of data types other than Xml if you want to call the BLS as a web service.

Thanks,

Dipankar

Former Member
0 Kudos

Hi Dipankar,

I understand the issue. So for that, the transaction input parameter is defined as the string in the transaction.

From the web dynpro the string is sent to xMII. It contains the xml file in a encoded form.

In xMII, the string is received as such. After this step.

1. Decode the input string.

2. Assign it to local xml property.

But It is not happening.

If the transaction is executed, It runs without any error. But after the assigning action, no sequences are excuted.

Any inputs....

Regards,

Kishore

Former Member
0 Kudos

Hi Nagarajan,

If you are able ot access the webservice if you give localhost, then the problem might be at the place of mapping the credentials. In the case of exposing the BLS as webservice, you need to enter the credentials inside the XacuteRequest schema. You will find three inputs in the Inputparameter list

1.Login Name

2.Password

3.Xacute Request (type - complex)

Dont map your Login name and password in the above ones. Inside the XacuteRequest you will find the Loginname and password fields once again. Please map the credentials there.

Thanks,

Rajesh.

former_member4529
Active Contributor
0 Kudos

Hi Nagarajan,

Have you used XML as input and output parameters' datatype in the BLS transaction? For output parameter of type XML if you specify a default XML structure as I've explained in my document then the WSDL will be generated perfectly. But for input parameter of type Xml even if the default structure is specified in the value field, still the WSDL is not generated correctly. For input param of type Xml WSDLGen service specifies the datatype of type Xml which is invalid. So for input param it's better to define only attributes of datatype other than XML.

Thanks,

Dipankar

Former Member
0 Kudos

And also, be certain to assign a reference document to the XML output transaction property.

The general rule is, if you only need to return simple values or a single "row" of data, you can use "simple" output types (string, integer, double, date, etc...). If you need more than one row of data coming back, use an XML output (in xMII format).

Best regards,

Rick