我一直致力于eclipse的WS-BPEL流程。在基本的helloworld.bpel过程中,assign
块(位于receiveInput
和replyOutput
块之间)需要输入和输出验证。但是,一旦我将输入变量设置为input-> payload->输入和输出到output-> payload->结果,我就会收到此错误
eObject在
中不能为空getNamespaceMap()
任何人都可以说出这意味着什么以及如何处理它?</ p>
由于
<!-- helloworld BPEL Process [Generated by the Eclipse BPEL Designer] -->
<bpel:process name="helloworld"
targetNamespace="http://helloworld"
suppressJoinFailure="yes"
xmlns:tns="http://helloworld"
xmlns:bpel="http://docs.oasis-open.org/wsbpel/2.0/process/executable"
expressionLanguage="http://www.w3.org/TR/1999/REC-xpath-19991116">
<!-- Import the client WSDL -->
<bpel:import location="helloworldArtifacts.wsdl" namespace="http://helloworld"
importType="http://schemas.xmlsoap.org/wsdl/" />
<!-- ================================================================= -->
<!-- PARTNERLINKS -->
<!-- List of services participating in this BPEL process -->
<!-- ================================================================= -->
<bpel:partnerLinks>
<!-- The 'client' role represents the requester of this service. -->
<bpel:partnerLink name="client"
partnerLinkType="tns:helloworld"
myRole="helloworldProvider"
/>
</bpel:partnerLinks>
<!-- ================================================================= -->
<!-- VARIABLES -->
<!-- List of messages and XML documents used within this BPEL process -->
<!-- ================================================================= -->
<bpel:variables>
<!-- Reference to the message passed as input during initiation -->
<bpel:variable name="input"
messageType="tns:helloworldRequestMessage"/>
<!--
Reference to the message that will be returned to the requester
-->
<bpel:variable name="output"
messageType="tns:helloworldResponseMessage"/>
</bpel:variables>
<!-- ================================================================= -->
<!-- ORCHESTRATION LOGIC -->
<!-- Set of activities coordinating the flow of messages across the -->
<!-- services integrated within this business process -->
<!-- ================================================================= -->
<bpel:sequence name="main">
<!-- Receive input from requester.
Note: This maps to operation defined in helloworld.wsdl
-->
<bpel:receive name="receiveInput" partnerLink="client"
portType="tns:helloworld"
operation="process" variable="input"
createInstance="yes"/>
<!-- Generate reply to synchronous request -->
<bpel:assign validate="no" name="Assign">
<bpel:copy>
<bpel:from part="payload" variable="input">
<bpel:query queryLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0">
<![CDATA[tns:input]]>
</bpel:query>
</bpel:from>
<bpel:to part="payload" variable="output">
<bpel:query queryLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0">
<![CDATA[tns:result]]>
</bpel:query>
</bpel:to>
</bpel:copy>
</bpel:assign>
<bpel:reply name="replyOutput"
partnerLink="client"
portType="tns:helloworld"
operation="process"
variable="output"
/>
</bpel:sequence>