Hi All, sorry for the long message but have couple of things that i tried, but both approaches failed.
BPEL Definition: <?xml version="1.0" encoding="UTF-8"?> <bpws:process xmlns:bpws="http://schemas.xmlsoap.org/ws/2004/03/business-process/" xmlns:ns="http://client.epm.apps.matrixone.com" xmlns:tns="http://eclipse.org/bpel/sample" exitOnStandardFault="yes" name="ECRProcess" suppressJoinFailure="yes" targetNamespace="http://eclipse.org/bpel/sample"> <bpws:import importType="http://schemas.xmlsoap.org/wsdl/" location="ECRProcess.wsdl" namespace="http://eclipse.org/bpel/sample"/> <bpws:import importType="http://schemas.xmlsoap.org/wsdl/" location="ComMatrixoneAppsEpmMyECR.wsdl" namespace="http://client.epm.apps.matrixone.com"/> <bpws:partnerLinks> <bpws:partnerLink myRole="ECRProcessProvider" name="client" partnerLinkType="tns:ECRProcess" partnerRole="ECRProcessRequester"/> <bpws:partnerLink name="CreateECRPartnerLink" partnerLinkType="ns:CreateECR" partnerRole="you"/> </bpws:partnerLinks> <bpws:variables> <bpws:variable messageType="tns:ECRProcessRequestMessage" name="input"/> <bpws:variable messageType="tns:ECRProcessResponseMessage" name="output"/> <bpws:variable messageType="ns:createBusResponse" name="CreateECRPartnerLinkResponse"/> <bpws:variable messageType="ns:createBusRequest" name="CreateECRPartnerLinkRequest"/> </bpws:variables> <bpws:sequence name="main"> <bpws:scope name="Design Change Proposal"> <bpws:sequence name="HiddenSequence"> <bpws:receive createInstance="yes" name="receiveCreationRequest" operation="receiveIssue" partnerLink="client" portType="tns:ECRProcess" variable="input"/> <bpws:assign name="Assign" validate="no"> <bpws:copy> <bpws:from><![CDATA[concat("Hello,*******************", $input.password," ", $input.username ," ",$input.type," ",$input.name," ",$input.rev," ",$input.policy," ",$input.vault)]]></bpws:from> <bpws:to part="payload" variable="output"> <bpws:query queryLanguage="http://www.w3.org/TR/1999/REC-xpath-19991116"><![CDATA[/tns:response]]></bpws:query> </bpws:to> </bpws:copy> </bpws:assign> <bpws:assign name="AssignCreateRequest" validate="no"> <bpws:copy> <bpws:from part="password" variable="input"/> <bpws:to part="password" variable="CreateECRPartnerLinkRequest"/> </bpws:copy> <bpws:copy> <bpws:from part="policy" variable="input"/> <bpws:to part="policy" variable="CreateECRPartnerLinkRequest"/> </bpws:copy> <bpws:copy> <bpws:from part="vault" variable="input"/> <bpws:to part="vault" variable="CreateECRPartnerLinkRequest"/> </bpws:copy> <bpws:copy> <bpws:from part="type" variable="input"/> <bpws:to part="type" variable="CreateECRPartnerLinkRequest"/> </bpws:copy> <bpws:copy> <bpws:from part="username" variable="input"/> <bpws:to part="username" variable="CreateECRPartnerLinkRequest"/> </bpws:copy> <bpws:copy> <bpws:from part="name" variable="input"/> <bpws:to part="name" variable="CreateECRPartnerLinkRequest"/> </bpws:copy> <bpws:copy> <bpws:from part="rev" variable="input"/> <bpws:to part="rev" variable="CreateECRPartnerLinkRequest"/> </bpws:copy> </bpws:assign> <bpws:assign name="SystemOut" validate="no"> <bpws:copy> <bpws:from><![CDATA[concat("CreateECRPartnerLinkRequest ...wgn......", $CreateECRPartnerLinkRequest.username," ", $CreateECRPartnerLinkRequest.password ," ",$CreateECRPartnerLinkRequest.type," ",$CreateECRPartnerLinkRequest.name," ",$CreateECRPartnerLinkRequest.rev," ",$CreateECRPartnerLinkRequest.policy," ",$CreateECRPartnerLinkRequest.vault)]]></bpws:from> <bpws:to part="payload" variable="output"> <bpws:query queryLanguage="http://www.w3.org/TR/1999/REC-xpath-19991116"><![CDATA[/tns:response]]></bpws:query> </bpws:to> </bpws:copy> </bpws:assign> <bpws:invoke inputVariable="CreateECRPartnerLinkRequest" name="CreateECR" operation="createBus" outputVariable="CreateECRPartnerLinkResponse" partnerLink="CreateECRPartnerLink" portType="ns:CreateECR"/> <bpws:invoke inputVariable="output" name="callbackClient" operation="onResult" partnerLink="client" portType="tns:ECRProcessCallback"/> </bpws:sequence> </bpws:scope> </bpws:sequence> </bpws:process> WSDL Definition : <?xml version="1.0"?> <definitions name="ECRProcess" targetNamespace="http://eclipse.org/bpel/sample" xmlns:tns="http://eclipse.org/bpel/sample" xmlns:plnk="http://schemas.xmlsoap.org/ws/2004/03/partner-link/" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"> <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ TYPE DEFINITION - List of services participating in this BPEL process The default output of the BPEL designer uses strings as input and output to the BPEL Process. But you can define or import any XML Schema type and us them as part of the message types. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --> <types> <schema attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://eclipse.org/bpel/sample" xmlns="http://www.w3.org/2001/XMLSchema"> <element name="ECRProcessResponse"> <complexType> <sequence> <element name="response" type="string"></element> </sequence> </complexType> </element> </schema> </types> <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ MESSAGE TYPE DEFINITION - Definition of the message types used as part of the port type defintions ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --> <message name="ECRProcessRequestMessage"> <part name="username" type="xsd:string"/> <part name="password" type="xsd:string"/> <part name="type" type="xsd:string"/> <part name="name" type="xsd:string"/> <part name="rev" type="xsd:string"/> <part name="vault" type="xsd:string"/> <part name="policy" type="xsd:string"/> </message> <message name="ECRProcessResponseMessage"> <part name="payload" element="tns:ECRProcessResponse" /> </message> <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ PORT TYPE DEFINITION - A port type groups a set of operations into a logical service unit. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --> <!-- portType implemented by the ECRProcess BPEL process --> <portType name="ECRProcess"> <operation name="receiveIssue"> <input message="tns:ECRProcessRequestMessage" /> </operation> </portType> <!-- portType implemented by the requester of ECRProcess BPEL process for asynchronous callback purposes --> <portType name="ECRProcessCallback"> <operation name="onResult"> <input message="tns:ECRProcessResponseMessage" /> </operation> </portType> <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ PARTNER LINK TYPE DEFINITION the ECRProcess partnerLinkType binds the provider and requester portType into an asynchronous conversation. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --> <plnk:partnerLinkType name="ECRProcess"> <plnk:role name="ECRProcessProvider" portType="tns:ECRProcess" /> <plnk:role name="ECRProcessRequester" portType="tns:ECRProcessCallback" /> </plnk:partnerLinkType> <binding name="ECRProcessSoapBinding" type="tns:ECRProcess"> <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" /> <operation name="receiveIssue"> <soap:operation soapAction="" style="document" /> <input> <soap:body namespace="http://sample.bpel.org/bpel/sample" use="literal" /> </input> </operation> </binding> <binding name="ECRProcessResponseSoapBinding" type="tns:ECRProcessCallback"> <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" /> <operation name="onResult"> <soap:operation soapAction="" style="document" /> <input> <soap:body namespace="http://sample.bpel.org/bpel/sample" use="literal" /> </input> </operation> </binding> <service name="ECRProcessInvokeService"> <documentation> Receives request for the invocation of ECR </documentation> <port name="ECRProcessPort" binding="tns:ECRProcessSoapBinding"> <soap:address location="http://localhost:8080/ode/processes/ecrProcess" /> </port> </service> <service name="ECRProcessResponderService"> <documentation>Return message</documentation> <port name="ECRProcessCallbackPort" binding="tns:ECRProcessResponseSoapBinding"> <soap:address location="http://localhost:8080/ode/processes/ecrProcessResponse" /> </port> </service> </definitions> Request Message : <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:sam="http://eclipse.org/bpel/sample"> <soapenv:Header/> <soapenv:Body> <sam:receiveIssue> <sam:username>Test Everything</sam:username> <sam:password>1234</sam:password> <sam:type>ECR</sam:type> <sam:name>ECR01001</sam:name> <sam:rev>-</sam:rev> <sam:policy>ECR (Standard)</sam:policy> <sam:vault>eService Sample</sam:vault> </sam:receiveIssue> </soapenv:Body> </soapenv:Envelope> Error shows : Part: name=rev typeName={http://www.w3.org/2001/XMLSchema}string from service {http://eclipse.org/bpel/sample}ECRProcessInvokeService 12:49:49,009 DEBUG [ODEService] ODE routed to operation Operation: name=receiveIssue style=ONE_WAY,0 Input: name=RequestMessage Message: name={http://eclipse.org/bpel/sample}ECRProcessRequestMessage Part: name=password typeName={http://www.w3.org/2001/XMLSchema}string Part: name=policy typeName={http://www.w3.org/2001/XMLSchema}string Part: name=vault typeName={http://www.w3.org/2001/XMLSchema}string Part: name=type typeName={http://www.w3.org/2001/XMLSchema}string Part: name=username typeName={http://www.w3.org/2001/XMLSchema}string Part: name=name typeName={http://www.w3.org/2001/XMLSchema}string Part: name=rev typeName={http://www.w3.org/2001/XMLSchema}string from service {http://eclipse.org/bpel/sample}ECRProcessInvokeService ERROR - GeronimoLog.error(108) | Exception occured while invoking ODE org.apache.ode.axis2.OdeFault: Binding defines non-element document literal part(s); nested exception is: java.lang.IllegalArgumentException: Binding defines non-element document literal part(s) at org.apache.ode.axis2.util.SoapMessageConverter.extractSoapBodyParts(SoapMessageConverter.java:379) at org.apache.ode.axis2.util.SoapMessageConverter.parseSoapRequest(SoapMessageConverter.java:292) at org.apache.ode.axis2.ODEService.onAxisMessageExchange(ODEService.java:118) at org.apache.ode.axis2.hooks.ODEMessageReceiver.invokeBusinessLogic(ODEMessageReceiver.java:68) at org.apache.ode.axis2.hooks.ODEMessageReceiver.receive(ODEMessageReceiver.java:62) at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:506) at org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:328) at org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:255) at javax.servlet.http.HttpServlet.service(HttpServlet.java:763) at javax.servlet.http.HttpServlet.service(HttpServlet.java:856) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869) at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.ja :664) at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527) at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684) at java.lang.Thread.run(Thread.java:595) Caused by: java.lang.IllegalArgumentException: Binding defines non-element document literal part(s) at org.apache.ode.axis2.Messages.msgBindingDefinesNonElementDocListParts(Messages.java:193) ... 24 more 12:49:49,009 ERROR [ODEService] Exception occured while invoking ODE org.apache.ode.axis2.OdeFault: Binding defines non-element document literal part(s); nested exception is: Not sure why the error is thrown , the wsdl port definitions do not define element attribute for the message <portType name="ECRProcess"> <operation name="receiveIssue"> <input message="tns:ECRProcessRequestMessage" /> </operation> </portType> The next thing i tried is redefining my portType definition to have an element attribute This is the modification i did: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --> <types> <schema attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://eclipse.org/bpel/sample" xmlns="http://www.w3.org/2001/XMLSchema"> <element name="ECRProcessResponse"> <complexType> <sequence> <element name="response" type="string"></element> </sequence> </complexType> </element> <element name="username" type="string" /> <element name="password" type="string" /> <element name="type" type="string" /> <element name="name" type="string" /> <element name="rev" type="string" /> <element name="policy" type="string" /> <element name="vault" type="string" /> </schema> </types> <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ MESSAGE TYPE DEFINITION - Definition of the message types used as part of the port type defintions ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --> <message name="ECRProcessRequestMessage"> <part name="username" element="tns:username"/> <part name="password" element="tns:password"/> <part name="type" element="tns:type"/> <part name="name" element="tns:name"/> <part name="rev" element="tns:rev"/> <part name="vault" element="tns:vault"/> <part name="policy" element="tns:policy"/> </message> <message name="ECRProcessResponseMessage"> <part name="payload" element="tns:ECRProcessResponse" /> </message> <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ PORT TYPE DEFINITION - A port type groups a set of operations into a logical service unit. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --> <!-- portType implemented by the ECRProcess BPEL process --> <portType name="ECRProcess"> <operation name="receiveIssue"> <input message="tns:ECRProcessRequestMessage" name="RequestMessage" /> </operation> </portType> The error this time around was : elementName={http://eclipse.org/bpel/sample}rev from service {http://eclipse.org/bpel/sample}ECRProcessInvokeService 13:20:58,586 DEBUG [ODEService] ODE routed to operation Operation: name=receiveIssue style=ONE_WAY,0 Input: name=RequestMessage Message: name={http://eclipse.org/bpel/sample}ECRProcessRequestMessage Part: name=password elementName={http://eclipse.org/bpel/sample}password Part: name=policy elementName={http://eclipse.org/bpel/sample}policy Part: name=vault elementName={http://eclipse.org/bpel/sample}vault Part: name=type elementName={http://eclipse.org/bpel/sample}type Part: name=username elementName={http://eclipse.org/bpel/sample}username Part: name=name elementName={http://eclipse.org/bpel/sample}name Part: name=rev elementName={http://eclipse.org/bpel/sample}rev from service {http://eclipse.org/bpel/sample}ECRProcessInvokeService ERROR - GeronimoLog.error(108) | Exception occured while invoking ODE org.apache.ode.axis2.OdeFault: Unexpected element in SOAP body: message {http://eclipse.org/bpel/sample}receiveIssue ele ment {http://eclipse.org/bpel/sample}username.; nested exception is: java.lang.IllegalArgumentException: Unexpected element in SOAP body: message {http://eclipse.org/bpel/sample}rec eiveIssue element {http://eclipse.org/bpel/sample}username. at org.apache.ode.axis2.util.SoapMessageConverter.extractSoapBodyParts(SoapMessageConverter.java:381) at org.apache.ode.axis2.util.SoapMessageConverter.parseSoapRequest(SoapMessageConverter.java:292) at org.apache.ode.axis2.ODEService.onAxisMessageExchange(ODEService.java:118) at org.apache.ode.axis2.hooks.ODEMessageReceiver.invokeBusinessLogic(ODEMessageReceiver.java:68) at org.apache.ode.axis2.hooks.ODEMessageReceiver.receive(ODEMessageReceiver.java:62) at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:506) at org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:328) at org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:255) at javax.servlet.http.HttpServlet.service(HttpServlet.java:763) at javax.servlet.http.HttpServlet.service(HttpServlet.java:856) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869) at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java :664) Anup -- View this message in context: http://www.nabble.com/org.apache.ode.axis2.OdeFault%3A-Binding-defines-non-element-document-literal-part%28s%29-tf4287132.html#a12203907 Sent from the Apache Ode User mailing list archive at Nabble.com.
