cancel
Showing results for 
Search instead for 
Did you mean: 

Consuming Web Service in XI

Former Member
0 Kudos

Hi All,

I am trying to consume a web service in XI.I downloaded the Temperature to Fahrenheit converter web service.

My scenario is like is will take temperature from File1 and pass it on to BPM,BPM calls the webservice through business service using SOAP request and then the response is send back to File2.

Message interfaces are Inbound,outbound,sync-abstract,sync-inbound,4 Async_Abstract and 1 business service and 2 technical systems.

When i test it,the flow gets stuck on the synchronous sender to the business service.

Regards,

Satpreet Singh

Edited by: Satpreet Singh Ratra on Jul 22, 2008 12:28 PM

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi Satpreet Singh,

To achieve this you you have to use the following things,

one outbound Asyn Message interface for Sender Filesystem

one Inbound Asyn Message interface for Receiver Filesystem

one Inbound Syn Message interface for Receiver WEBSERVICE

one Asyn ABS Message interface for receiving the MSG in BPM from Filesystem1

one Syn ABS Message interface for Sending the Syn MSG to WebService from BPM

one Asyn ABS Message interface for sending the MSG from BPM to file system2

and As you told , you are using the Business service. that Syn Inbound MSG interface should be added in Sender Tab of Business service.

and you have to create the sender agreement , receiver agreements, receiver determinations and interface determinations

Cheers,

Dhanabal

Former Member
0 Kudos

Hi Dhanabal,

I have created the required interfaces you have told about.But i feel there is some another problem.

Any other way we can troubleshoot the problem?

Regards,

Satpreet Singh

prateek
Active Contributor
0 Kudos

Check if any soap action is required in the receiver soap communication channel.

Regards,

Prateek

Former Member
0 Kudos

Hi Satpreet,

can you check in SXMB_MONI_BPE

see the work flow of the BPM and check in which step it is failing and check in the message monitoring that in which PIPE line process it is getting failed.

Cheers

Dhanabal

Former Member
0 Kudos

Hi Prateek,

How do I check if some SOAP action is required??

Regards,

Satpreet

Former Member
0 Kudos

Danny,

I have checked in sxmb_moni_bpe. The failure is at the "Synchronous sender" to Web service. And the error message is

Work item 000000002076: Object CL_SWF_XI_MSG_BROKER method SEND_SYNCHRON cannot be executed.

No clues

And also when I check message monitoring, the error occurs during SOAP call. Call fails with error:

java.lang.IllegalArgumentException: can't parse argument number http://schemas.xmlsoap.org/wsdl/

at java.text.MessageFormat.makeFormat(MessageFormat.java:1323)

at java.text.MessageFormat.applyPattern(MessageFormat.java:447)

at java.text.MessageFormat.(MessageFormat.java:347)

at java.text.MessageFormat.format(MessageFormat.java:800)

at jsp_auditlog1201346243234._jspService(jsp_auditlog1201346243234.java:297)

at com.sap.engine.services.servlets_jsp.server.jsp.JspBase.service(JspBase.java:112)

at com.sap.engine.services.servlets_jsp.server.servlet.JSPServlet.service(JSPServlet.java:544)

at com.sap.engine.services.servlets_jsp.server.servlet.JSPServlet.service(JSPServlet.java:186)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)

at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:390)

at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:264)

at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:347)

at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:325)

at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:887)

at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:241)

at com.sap.engine.services.httpserver.server.Client.handle(Client.java:92)

at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:148)

at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33)

at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41)

at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)

at java.security.AccessController.doPrivileged(Native Method)

at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100)

at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170)

Regards,

Satpreet

Answers (2)

Answers (2)

Former Member
0 Kudos

Hi Satpreet,

Please try choosing "Using RPC Style" instead of "From All.." while importing the wsdl file as an external definition.

Regards,

Former Member
0 Kudos

Hi Tarik,

I tried using RPC Style but no luck

Any other way?

Regards,

Satpreet Singh

Former Member
0 Kudos

Hi Satpreet Singh,

How u resolved this issue.I too getting the error in BPM as "object cl_swf_xi_msg_broker method send_asynchron cannot be executed".

Can you pls let me what is solution?

Thanks & Regards,

Purushotham

Former Member
0 Kudos

Hi,

Please check if you are getting the response from Receiver SOAP Web Service.

Thanks

Swarup

Former Member
0 Kudos

Hi Swarup,

The URL i am using for the web service is

http://developerdays.com/cgi-bin/tempconverter.exe/wsdl/ITempConverter

When i check it with XMLSPY, I receive proper output. Is the URL in proper format? Or does XI expect any change in the format.

Also when I check the Message monitoring, it gives an error saying

"java.lang.IllegalArgumentException: can't parse argument number "

Any clues????

Regards,

Satpreet Singh

former_member181985
Active Contributor
0 Kudos

Hi,

Your scenario is same as this blog except instead of RFC you are using SOAP. Both RFC & SOAP act in Synchronous manner.

I would suggest to go through this blog.

[]

Thanks,

Gujjeit