Hi,
I suffered a trouble about Web Services interoperability about webMethods 6.1.
First,I make a flow service and then generate a WSDL from this flow service.I used SOAP-MSG as the Protocol,HTTP as the Via Transport and a document data type like RosettaNet PIP4B2 as the input when I generated the WSDL.
Then,I import this WSDL file to my .Net C# program and make this program as the web service client.
At the beginning,I forgot to assign namespaces to the flow service and the input document data type described in the 31th page of Web Service Developers Guide 6.pdf.So,there was a “namespace:localname: service not be found” error.Then,I repaired this issue.But there was a new exception like "[ISC.0088.0001E] SOAPException: [ISS.0088.9134]
Exception occurred while processing the body of the message “.
This issue had been submit but no answer in “[URL=“http://advantage.webmethods.com/cgi-bin/advantage/main.jsp?w=0&targChanId=knowledgebase&oid=1611894020”]http://advantage.webmethods.com/cgi-bin/advantage/main.jsp?w=0&targChanId=knowledgebase&oid=1611894020[/URL]”,It seems like a fix " IS 6-1 Fix11” can resolve this issue.
I attached the Level 10 log as below:
2005-03-16 16:40:21 CST [ISS.0109.0001V1] Service OutboundTest:outboundTest was
invoked via SOAP
2005-03-16 16:40:21 CST [ISC.0088.0001E] SOAPException: [ISS.0088.9134] Exceptio
n occurred while processing the body of the message
2005-03-16 16:40:21 CST [ISC.0038.0002V3] → HTTP/1.0 500 Internal Server Error
And when I used webMethods as the web service client,I run the client and got a soap fault as below:
[highlight=xml]
<?xml>
SOAP-ENV:Client
[ISS.0088.9134] Exception occurred while processing the body of the message
[URL="http://10.139.14.25:5555/soap/default"]http://10.139.14.25:5555/soap/default[/URL]
com.wm.app.b2b.server.ServiceException
java.lang.Exception: missing required parameter 'document'
[/highlight]
Kenny,
Getting doc/literal to work from webMethods can be a bit tricky. A couple of things to look at:
1)Use a utility like this to see what you are sending from .Net to webMethods is what you expect and what webMethods expects.
Thans for you sample. but I get the following error when I try to generate a WSDL file. please give me you help. Thanks.
com.wm.app.b2b.server.ServiceException: [ISS.0092.9026] Input document type
PgnCreateTicket.documents:servicerequest cannot be used to generate SOAP-MSG WSDL.
Top level fields must have XML Namespace values.
at wm.server.wsdl.createWSD(wsdl.java:103)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at com.wm.app.b2b.server.JavaService.baseInvoke(JavaService.java:287)
at com.wm.app.b2b.server.invoke.InvokeManager.process(InvokeManager.java:554)
at com.wm.app.b2b.server.invoke.StatisticsProcessor.process(StatisticsProcessor.java:44)
at com.wm.app.b2b.server.invoke.ServiceCompletionImpl.process(ServiceCompletionImpl.java:221)
at com.wm.app.b2b.server.invoke.ValidateProcessor.process(ValidateProcessor.java:49)
at com.wm.app.b2b.server.ACLManager.process(ACLManager.java:194)
at com.wm.app.b2b.server.invoke.DispatchProcessor.process(DispatchProcessor.java:39)
at com.wm.app.b2b.server.AuditLogManager.process(AuditLogManager.java:384)
at com.wm.app.b2b.server.invoke.InvokeManager.invoke(InvokeManager.java:486)
at com.wm.app.b2b.server.invoke.InvokeManager.invoke(InvokeManager.java:359)
at com.wm.app.b2b.server.ServiceManager.invoke(ServiceManager.java:246)
at com.wm.app.b2b.server.comm.DefaultServerRequestHandler.handleMessage(DefaultServerRequestHandler.java:97)
at com.wm.app.b2b.server.HTTPMessageHandler.process(HTTPMessageHandler.java:167)
at com.wm.app.b2b.server.Dispatch.run(Dispatch.java:298)
at com.wm.util.pool.PooledThread.run(PooledThread.java:105)
at java.lang.Thread.run(Thread.java:534)
The document types that you specify as the input and outputs in your WSDL should ideally contain only a single document each. Those “child” documents can have whatever structure you want (except for custom java objects). They should also have a value set in their XML Namespace property.
xiyangbo,
The input document should be ticket and the output should be response. The servicerequest document you tried to use is a broker document. Don’t use that one. I should probably put that in a readme.