You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@ode.apache.org by Greg Bluntzer <gb...@gmail.com> on 2007/08/30 19:18:58 UTC
Problems with ODE 1.1 Release
I hope this is not the wrong place to post this
I just updated to the newer version of the Apache ODE 1.1.
Im using Eclipse BPEL Plugin to create my BPEL Files. I am getting an error
from axis that I didnt get in the prior release of ODE. Any help would be
appreciated. Eclipse Creates the BPEL and WSDL with the exception of the
Service and Binding and I manually created the deploy file. Im running on
Apache Tomcat and Windows XP
### ERROR ####
12:04:29,133 ERROR [WSDL11ToAxisServiceBuilder] RPC-literal type message
part payload should have a
type attribute
org.apache.axis2.description.WSDL11ToAxisServiceBuilder$WSDLProcessingException:
RPC-literal type me
ssage part payload should have a type attribute
at
org.apache.axis2.description.WSDL11ToAxisServiceBuilder.addPartToElement(WSDL11ToAxisServ
iceBuilder.java:1992)
at
org.apache.axis2.description.WSDL11ToAxisServiceBuilder.getNewComplextType(WSDL11ToAxisSe
rviceBuilder.java:1879)
at
org.apache.axis2.description.WSDL11ToAxisServiceBuilder.createSchemaForPorttype(WSDL11ToA
xisServiceBuilder.java:1544)
at
org.apache.axis2.description.WSDL11ToAxisServiceBuilder.generateWrapperSchema(WSDL11ToAxi
sServiceBuilder.java:1431)
at
org.apache.axis2.description.WSDL11ToAxisServiceBuilder.populateService(WSDL11ToAxisServi
ceBuilder.java:255)
at
org.apache.ode.axis2.hooks.ODEAxisService.createService(ODEAxisService.java:79)
at org.apache.ode.axis2.ODEServer.createService(ODEServer.java:299)
at
org.apache.ode.axis2.BindingContextImpl.activateMyRoleEndpoint(BindingContextImpl.java:59
)
at
org.apache.ode.bpel.engine.BpelProcess.activate(BpelProcess.java:442)
at
org.apache.ode.bpel.engine.BpelEngineImpl.registerProcess(BpelEngineImpl.java:221)
at
org.apache.ode.bpel.engine.BpelServerImpl.register(BpelServerImpl.java:275)
at org.apache.ode.axis2.ODEServer.handleEvent(ODEServer.java:526)
at org.apache.ode.axis2.ODEServer.access$100(ODEServer.java:70)
at
org.apache.ode.axis2.ODEServer$ProcessStoreListenerImpl.onProcessStoreEvent(ODEServer.jav
a:512)
at
org.apache.ode.store.ProcessStoreImpl.fireEvent(ProcessStoreImpl.java:501)
at
org.apache.ode.store.ProcessStoreImpl.fireStateChange(ProcessStoreImpl.java:507)
at
org.apache.ode.store.ProcessStoreImpl.deploy(ProcessStoreImpl.java:284)
at
org.apache.ode.axis2.deploy.DeploymentPoller.check(DeploymentPoller.java:144)
at
org.apache.ode.axis2.deploy.DeploymentPoller.access$300(DeploymentPoller.java:55)
at
org.apache.ode.axis2.deploy.DeploymentPoller$PollingThread.run(DeploymentPoller.java:188)
### WSDL ###
<?xml version="1.0"?>
<definitions name="Test4"
targetNamespace="Test4"
xmlns:tns="Test4"
xmlns:plnk="http://docs.oasis-open.org/wsbpel/2.0/plnktype"
xmlns="http://schemas.xmlsoap.org/wsdl/"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/">
<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
TYPE DEFINITION - List of types participating in this BPEL process
The BPEL Designer will generate default request and response types
but you can define or import any XML Schema type and use them as part
of the message types.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-->
<types>
<schema attributeFormDefault="unqualified"
elementFormDefault="qualified"
targetNamespace="Test4"
xmlns="http://www.w3.org/2001/XMLSchema">
<element name="Test4Request">
<complexType>
<sequence>
<element name="input" type="string"/>
</sequence>
</complexType>
</element>
<element name="Test4Response">
<complexType>
<sequence>
<element name="result" type="string"/>
</sequence>
</complexType>
</element>
</schema>
</types>
<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
MESSAGE TYPE DEFINITION - Definition of the message types used as
part of the port type defintions
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-->
<message name="Test4RequestMessage">
<part name="payload" element="tns:Test4Request"/>
</message>
<message name="Test4ResponseMessage">
<part name="payload" element="tns:Test4Response"/>
</message>
<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
PORT TYPE DEFINITION - A port type groups a set of operations into
a logical service unit.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-->
<!-- portType implemented by the Test4 BPEL process -->
<portType name="Test4">
<operation name="process">
<input message="tns:Test4RequestMessage" />
<output message="tns:Test4ResponseMessage"/>
</operation>
</portType>
<binding name="Test4SOAPBinding" type="tns:Test4">
<soap:binding style="rpc"
transport="http://schemas.xmlsoap.org/soap/http" />
<operation name="process">
<soap:operation soapAction="Test4/process" />
<input>
<soap:body use="literal" namespace="Test4" />
</input>
<output>
<soap:body use="literal" namespace="Test4" />
</output>
</operation>
</binding>
<service name="Test4Service">
<port name="Test4Port" binding="tns:Test4SOAPBinding">
<soap:address
location="http://localhost:8080/ode/processes/Test4"/>
</port>
</service>
<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
PARTNER LINK TYPE DEFINITION
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-->
<plnk:partnerLinkType name="Test4">
<plnk:role name="Test4Provider" portType="tns:Test4"/>
</plnk:partnerLinkType>
</definitions>
### BPEL ###
!-- Test4 BPEL Process [Generated by the Eclipse BPEL Designer] -->
<process name="Test4"
targetNamespace="Test4"
suppressJoinFailure="yes"
xmlns:tns="Test4"
xmlns="http://docs.oasis-open.org/wsbpel/2.0/process/executable"
>
<!-- Import the client WSDL -->
<import location="Test4.wsdl" namespace="Test4"
importType="http://schemas.xmlsoap.org/wsdl/" />
<!-- =================================================================
-->
<!-- PARTNERLINKS
-->
<!-- List of services participating in this BPEL process
-->
<!-- =================================================================
-->
<partnerLinks>
<!-- The 'client' role represents the requester of this service. -->
<partnerLink name="client"
partnerLinkType="tns:Test4"
myRole="Test4Provider"
/>
</partnerLinks>
<!-- =================================================================
-->
<!-- VARIABLES
-->
<!-- List of messages and XML documents used within this BPEL process
-->
<!-- =================================================================
-->
<variables>
<!-- Reference to the message passed as input during initiation -->
<variable name="input"
messageType="tns:Test4RequestMessage"/>
<!--
Reference to the message that will be returned to the requester
-->
<variable name="output"
messageType="tns:Test4ResponseMessage"/>
</variables>
<!-- =================================================================
-->
<!-- ORCHESTRATION LOGIC
-->
<!-- Set of activities coordinating the flow of messages across the
-->
<!-- services integrated within this business process
-->
<!-- =================================================================
-->
<sequence name="main">
<!-- Receive input from requester.
Note: This maps to operation defined in Test4.wsdl
-->
<receive name="receiveInput" partnerLink="client"
portType="tns:Test4"
operation="process" variable="input"
createInstance="yes"/>
<!-- Generate reply to synchronous request -->
<reply name="replyOutput"
partnerLink="client"
portType="tns:Test4"
operation="process"
variable="output"
/>
</sequence>
</process>
### DEPLOY ###
<deploy xmlns="http://www.apache.org/ode/schemas/dd/2007/03"
xmlns:pns="Test4"
xmlns:wns="Test4">
<process name="pns:Test4">
<active>true</active>
<provide partnerLink="client">
<service name="wns:Test4Service" port="Test4Port"/>
</provide>
</process>
</deploy>
--
View this message in context: http://www.nabble.com/Problems-with-ODE-1.1-Release-tf4355659.html#a12411954
Sent from the Apache Ode User mailing list archive at Nabble.com.
Re: Problems with ODE 1.1 Release
Posted by Alex Boisvert <bo...@intalio.com>.
On 9/12/07, Jens Goldhammer <Go...@gmx.net> wrote:
>
> I want to ask the other way round. Is this behaviour bpel2-compliant?
Yes. BPEL 2.0 spec says (section 8.4.2) the engine must initialize
variables in a certain way:
<start_quote>
Using <copy> to initialize variables
When the destination selected by the to-spec in a <copy> operation is
un-initialized, which is either an entire WS-BPEL variable or a message
part, that destination MUST first be initialized before executing the
replacement rules defined above, as if the following has been applied:
• For complex type and simple type variables or message parts, initialize to
a skeleton structure composed of a DII and an anonymous Document Element
EII.
• For element based variables or message parts, initialize to a skeleton
structure composed of a DII and an Document Element EII with the name
matching the element name used in variable declaration.
</end_quote>
Is there an other way for being compliant and make semantically the same?
Based on the above, I think not. (But I might be missing something)
alex
Re: Problems with ODE 1.1 Release
Posted by Jens Goldhammer <Go...@gmx.net>.
Hello,
thanks for your answer.
I want to ask the other way round. Is this behaviour bpel2-compliant?
The problem is that we don´t want to develop the processes only for the ODE
BPEL Engine...
We have to be sure that other bpel engines expect the same or this does not
lead to an error...
Is there an other way for being compliant and make semantically the same?
We don´t want to give up the flexibility to create complex types...
Jens
Alex Boisvert wrote:
>
> On 9/11/07, Jens Goldhammer <Go...@gmx.net> wrote:
>>
>> Isn´t it possible that ODE makes this initialisation? I saw in the old
>> processes which we have made with activeBpel contain this function ...
>> and
>> it worked very well.
>> Can you change the behaviour of ODE in this case?
>
>
>
> It's certainly possible to initialize variables with a minimal XML
> template
> that would be type-compatible in many cases... although the rules and
> bounds
> for creating the template must be easily understandable otherwise you
> would
> be trading one problem for another.
> Feel free to open a Jira enhancement for it. I think we should organizing
> enhancements according to level of difficulty, scope and also have people
> vote for new features. I'm also hoping it would incite people to start
> hacking on Ode...
>
> alex
>
>
--
View this message in context: http://www.nabble.com/Problems-with-ODE-1.1-Release-tf4355659.html#a12630554
Sent from the Apache Ode User mailing list archive at Nabble.com.
Re: Problems with ODE 1.1 Release
Posted by Alex Boisvert <bo...@intalio.com>.
On 9/11/07, Jens Goldhammer <Go...@gmx.net> wrote:
>
> Isn´t it possible that ODE makes this initialisation? I saw in the old
> processes which we have made with activeBpel contain this function ... and
> it worked very well.
> Can you change the behaviour of ODE in this case?
It's certainly possible to initialize variables with a minimal XML template
that would be type-compatible in many cases... although the rules and bounds
for creating the template must be easily understandable otherwise you would
be trading one problem for another.
Feel free to open a Jira enhancement for it. I think we should organizing
enhancements according to level of difficulty, scope and also have people
vote for new features. I'm also hoping it would incite people to start
hacking on Ode...
alex
Re: Problems with ODE 1.1 Release
Posted by Jens Goldhammer <Go...@gmx.net>.
Hello developers of ODE,
We have the same problems as desribed in this thread.
We develop a process with Apache Ode and integrate some own developed
webservices, functional topic does not matter.
One own developed webservice has a operation "logRun" and its defined in a
wsdl file.
<wsdl:operation name="logRun">
<wsdl:input message="tns:logRunRequest"></wsdl:input>
<wsdl:output message="tns:logRunResponse"></wsdl:output>
<wsdl:fault name="fault" message="tns:logFaultException">
</wsdl:fault>
</wsdl:operation>
The message logRunRequest is defined as:
<wsdl:message name="logRunRequest">
<wsdl:part name="request" element="types:LogRunRequestVO">
</wsdl:part>
</wsdl:message>
The element LogRunRequestVO is defined in a file complexTypes.xsd.
<xsd:element name="LogRunRequestVO">
<xsd:complexType>
<xsd:sequence>
<xsd:element ref="types:emptyparam"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
The referenced typed emptyparam itself is defined in another xsd-file
simpleTypes.xsd.
<xsd:element name="emptyparam" type="xsd:boolean">
<xsd:annotation>
<xsd:documentation>
a dummy boolean for methods with no input parameter
</xsd:documentation>
</xsd:annotation>
</xsd:element>
The xsd files are valid and WSDL file is valid against ws-i.
Now, to the bpel process itself.
We defined some variables, e.g. to make a service call
<bpws:variable messageType="ns1:logRunRequest" name="LogRunRequestVO"/>
If we want to set the value of the property of LogRunRequestVO, we have to
copy the xml structure in it before. After that, we can set the
emptyparam-property to true. Without this initialisation we cannot set the
property (selectionFailure). The problem is now that we have to do that for
all service invokes. I didn´t complain about the effort, but more about the
failures which can be produced with this. It takes too long to find out the
right definition for each initialisation.
<bpws:assign name="initVariable" validate="no">
<bpws:copy>
<bpws:from>
<bpws:literal>
<types:logRunRequest
xmlns:types="http://cis.log.interface.de.ibm.com/types">
<xsd:emptyparam
xmlns:xsd="http://cis.de.ibm.com/simpleTypes"/>
</types:logRunRequest>
</bpws:literal>
</bpws:from>
<bpws:to
expressionLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0"
xmlns:bpws="http://schemas.xmlsoap.org/ws/2004/03/business-process/"><![CDATA[$LogRunRequestVO.request]]></bpws:to>
</bpws:copy>
<bpws:copy>
<bpws:from
expressionLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0"
xmlns:bpws="http://schemas.xmlsoap.org/ws/2004/03/business-process/"><![CDATA[true()]]></bpws:from>
<bpws:to
expressionLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0"
xmlns:bpws="http://schemas.xmlsoap.org/ws/2004/03/business-process/"><![CDATA[$LogRunRequestVO.request/xsd:emptyparam]]></bpws:to>
</bpws:copy>
</bpws:assign>
Isn´t it possible that ODE makes this initialisation? I saw in the old
processes which we have made with activeBpel contain this function ... and
it worked very well.
Can you change the behaviour of ODE in this case?
Thanks in advance for your response.
Regards,
Jens Goldhammer
RichTaylor wrote:
>
> To clarify, the first sentence should have read "the input variable is
> being
> initialized _unnecessarily_, effectively being set to an empty string." I
> meant to say that the input message is correctly populated with data from
> your incoming message, but you're accidentally wiping it out by
> initializing
> the input variable. - Rich
>
>
> On 8/31/07, Rich Taylor <bh...@gmail.com> wrote:
>>
>> In the process you attached, the "input" variable is being initialized,
>> effectively being set to an empty string. It is then referenced, but
>> it's
>> already been wiped out, hence the blank response. Remove the first two
>> "copy" operations from your "assign" activity and it should be closer to
>> working.
>>
>> In your process, the input variable is populated/initialized by the
>> "receive" activity in the beginning of the process, with the data
>> "sdfgsdfg", from the incoming message. It's only the output variable
>> that
>> _you_ need to initialize, since it is an empty xml document.
>>
>> If you're looking for a minimal echo bpel process, I have attached one
>> below. The process below was created with the Eclipse BPEL Designer and
>> is
>> very similar, just a simpler way to accomplish what you're after.
>>
>> If you notice, I didn't have to initialize the output variable. It may
>> not have been clear from earlier emails, but you only have to initialize
>> vars if you're going to copy a value into a section of a message that is
>> deeper than the node you're specifying with "message" and "part". I
>> realize that explanation may or may not help. I would say review the
>> "Assign" section of the BPEL spec[1]. I had to read it several times and
>> admit that I still get it all.
>>
>> Let us know if it still doesn't work.
>>
>> Peace, Rich
>>
>> [1]
>> http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html#_Toc164738498
>>
>>
>> <?xml version="1.0" encoding="UTF-8"?>
>> <bpws:process exitOnStandardFault="yes" name="Test4"
>> suppressJoinFailure="yes"
>> targetNamespace="urn:test"
>> xmlns:bpws="http://docs.oasis-open.org/wsbpel/2.0/process/executable"
>> xmlns:tns="urn:test">
>> <bpws:import importType=" http://schemas.xmlsoap.org/wsdl/"
>> location="Test4.wsdl" namespace="urn:test"/>
>> <bpws:partnerLinks>
>> <bpws:partnerLink myRole="Test4Provider" name="client"
>> partnerLinkType="tns:Test4"/>
>> </bpws:partnerLinks>
>> <bpws:variables>
>> <bpws:variable messageType="tns:Test4RequestMessage"
>> name="input"/>
>> <bpws:variable messageType="tns:Test4ResponseMessage"
>> name="output"/>
>> </bpws:variables>
>> <bpws:sequence name="main">
>> <bpws:receive createInstance="yes" name="receiveInput"
>> operation="process" partnerLink="client"
>> portType="tns:Test4" variable="input"/>
>> <bpws:assign name="Assign" validate="no">
>> <bpws:copy>
>> <bpws:from part="payload" variable="input"/>
>> <bpws:to part="payload" variable="output"/>
>> </bpws:copy>
>> </bpws:assign>
>> <bpws:reply name="replyOutput" operation="process"
>> partnerLink="client" portType="tns:Test4" variable="output"/>
>> </bpws:sequence>
>> </bpws:process>
>>
>>
>> On 8/31/07, Greg Bluntzer <gb...@gmail.com> wrote:
>> >
>> >
>> > Ok it doesnt fail anymore but it doesnt copy the value over either what
>> > am i
>> > doing wrong.
>> >
>> > I was assuming that I need to initialize the output variable as well.
>> >
>> > ####WSDL#####
>> > <?xml version=" 1.0"?>
>> > <definitions name="Test4"
>> > targetNamespace="http://Test4"
>> > xmlns:tns="http://Test4"
>> > xmlns:plnk=" http://docs.oasis-open.org/wsbpel/2.0/plnktype"
>> > xmlns="http://schemas.xmlsoap.org/wsdl/"
>> > xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/">
>> >
>> > <!--
>> > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> > TYPE DEFINITION - List of types participating in this BPEL process
>> > The BPEL Designer will generate default request and response types
>> > but you can define or import any XML Schema type and use them as
>> > part
>> > of the message types.
>> >
>> > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> > -->
>> > <types>
>> > <schema attributeFormDefault="unqualified"
>> > elementFormDefault="qualified"
>> > targetNamespace="http://Test4 "
>> > xmlns="http://www.w3.org/2001/XMLSchema">
>> >
>> > <element name="Test4Request">
>> > <complexType>
>> > <sequence>
>> > <element name="input" type="string"/>
>> > </sequence>
>> > </complexType>
>> > </element>
>> >
>> > <element name="Test4Response">
>> > <complexType>
>> > <sequence>
>> > <element name="result" type="string"/>
>> > </sequence>
>> > </complexType>
>> > </element>
>> > </schema>
>> > </types>
>> >
>> >
>> > <!--
>> > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> > MESSAGE TYPE DEFINITION - Definition of the message types used as
>> > part of the port type defintions
>> >
>> > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> > -->
>> > <message name="Test4RequestMessage">
>> > <part name="payload" element="tns:Test4Request"/>
>> > </message>
>> > <message name="Test4ResponseMessage">
>> > <part name="payload" element="tns:Test4Response"/>
>> > </message>
>> >
>> > <!--
>> > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> > PORT TYPE DEFINITION - A port type groups a set of operations into
>> > a logical service unit.
>> >
>> > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> > -->
>> >
>> > <!-- portType implemented by the Test4 BPEL process -->
>> > <portType name="Test4">
>> > <operation name="process">
>> > <input message="tns:Test4RequestMessage" />
>> > <output message="tns:Test4ResponseMessage"/>
>> > </operation>
>> > </portType>
>> >
>> >
>> > <!--
>> > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> > PARTNER LINK TYPE DEFINITION
>> >
>> > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> > -->
>> > <plnk:partnerLinkType name="Test4">
>> > <plnk:role name="Test4Provider" portType="tns:Test4"/>
>> > </plnk:partnerLinkType>
>> >
>> > <binding name="Test4SOAPBinding" type="tns:Test4">
>> > <soap:binding style="document"
>> > transport=" http://schemas.xmlsoap.org/soap/http" />
>> > <operation name="process">
>> > <soap:operation soapAction="http://Test4/process" />
>> > <input>
>> > <soap:body use="literal" />
>> > </input>
>> > <output>
>> > <soap:body use="literal" />
>> > </output>
>> > </operation>
>> > </binding>
>> > <service name="Test4Service">
>> > <port name="Test4Port" binding="tns:Test4SOAPBinding">
>> > <soap:address
>> > location="http://localhost:8080/ode/processes/Test4"></soap:address>
>> > </port>
>> > </service>
>> > </definitions>
>> >
>> >
>> >
>> >
>> > ####BPEL####
>> >
>> > <?xml version="1.0" encoding="UTF-8"?>
>> > <bpws:process exitOnStandardFault="yes" name="Test4"
>> > suppressJoinFailure="yes" targetNamespace=" http://Test4"
>> >
>> xmlns:bpws="http://docs.oasis-open.org/wsbpel/2.0/process/executable
>> > "
>> > xmlns:tns=" http://Test4">
>> > <bpws:import importType="http://schemas.xmlsoap.org/wsdl/"
>> > location="Test4.wsdl" namespace=" http://Test4"/>
>> > <bpws:partnerLinks>
>> > <bpws:partnerLink myRole="Test4Provider" name="client"
>> > partnerLinkType="tns:Test4"/>
>> > </bpws:partnerLinks>
>> > <bpws:variables>
>> > <bpws:variable messageType="tns:Test4RequestMessage"
>> > name="input"/>
>> > <bpws:variable messageType="tns:Test4ResponseMessage"
>> > name="output"/>
>> > </bpws:variables>
>> > <bpws:sequence name="main">
>> > <bpws:receive createInstance="yes" name="receiveInput"
>> > operation="process" partnerLink="client"
>> > portType="tns:Test4" variable="input"/>
>> > <bpws:assign name="Assign" validate="no">
>> > <bpws:copy keepSrcElementName="yes">
>> > <bpws:from>
>> > <bpws:literal>
>> > <Test4Request xmlns="http://Test4">
>> > <input/>
>> > </Test4Request>
>> > </bpws:literal>
>> > </bpws:from>
>> > <bpws:to part="payload" variable="input"/>
>> > </bpws:copy>
>> > <bpws:copy>
>> > <bpws:from part="payload" variable="input">
>> > <bpws:query
>> > queryLanguage="urn:oasis:names:tc:wsbpel: 2.0:sublang:xpath1.0
>> > "><![CDATA[/tns:input]]></bpws:query>
>> > </bpws:from>
>> > <bpws:to><![CDATA[$input.payload/tns:input]]></bpws:to>
>> > </bpws:copy>
>> > <bpws:copy keepSrcElementName="yes">
>> > <bpws:from>
>> > <bpws:literal>
>> > <Test4Response xmlns=" http://Test4">
>> > <result/>
>> > </Test4Response>
>> > </bpws:literal>
>> > </bpws:from>
>> > <bpws:to part="payload" variable="output"/>
>> > </bpws:copy>
>> > <bpws:copy>
>> > <bpws:from part="payload" variable="input">
>> > <bpws:query
>> > queryLanguage="urn:oasis:names:tc:wsbpel: 2.0:sublang:xpath1.0
>> > "><![CDATA[/tns:input]]></bpws:query>
>> > </bpws:from>
>> >
>> >
>> <bpws:to><![CDATA[$output.payload/tns:result]]></bpws:to>
>> > </bpws:copy>
>> > </bpws:assign>
>> > <bpws:reply name="replyOutput" operation="process"
>> > partnerLink="client" portType="tns:Test4"
>> > variable="output"/>
>> > </bpws:sequence>
>> > </bpws:process>
>> >
>> > #### DEPLOY ####
>> > <deploy xmlns="http://www.apache.org/ode/schemas/dd/2007/03"
>> > xmlns:pns=" http://Test4"
>> > xmlns:wns="http://Test4">
>> >
>> >
>> > <process name="pns:Test4">
>> > <active>true</active>
>> > <provide partnerLink="client">
>> > <service name="wns:Test4Service"
>> > port="Test4Port"/>
>> > </provide>
>> > </process>
>> > </deploy>
>> >
>> > #### SOAP ####
>> > <soapenv:Envelope xmlns:soapenv="
>> > http://schemas.xmlsoap.org/soap/envelope/"
>> > xmlns:tes=" http://Test4">
>> > <soapenv:Header/>
>> > <soapenv:Body>
>> > <tes:Test4Request>
>> > <tes:input>sdfgsdfg</tes:input>
>> > </tes:Test4Request>
>> > </soapenv:Body>
>> > </soapenv:Envelope>
>> >
>> > #### SOAP RESPONSE ####
>> > <soapenv:Envelope xmlns:soapenv="
>> > http://schemas.xmlsoap.org/soap/envelope/">
>> > <soapenv:Body>
>> > <axis2ns1:Test4Response xmlns:axis2ns1="http://Test4"
>> > xmlns="http://Test4">
>> > <result/>
>> > </axis2ns1:Test4Response>
>> > </soapenv:Body>
>> > </soapenv:Envelope>
>> >
>> >
>> > RichTaylor wrote:
>> > >
>> > > Hi Greg, this threw me off for a while as well. Basically before you
>> > > assign
>> > > a value into an xml document (a variable in this case), it, as an xml
>> > > document must exist. The simplest way to do this in your case would
>> > be to
>> > > add another "copy" operation in your assign, right before your
>> current
>> > one
>> > > (can be in the same assign activity). In the eclipse editor, select
>> > > "Fixed
>> > > Value", then type a raw XML document that conforms to your schema
>> type
>> > > tns:Test4ResponseMessage.
>> > > I don't see that aspect of your WSDL so I can't give you an exact
>> > example.
>> > > But it would look something like the following in your BPEL (note,
>> > the
>> > > Eclipse designer add the "literal" element for you). Notice the
>> _two_
>> > > "copy" operations, the first one is the one you're missing. Let me
>> > know
>> > > if
>> > > this isn't clear.
>> > >
>> > > <bpws:assign>
>> > > <bpws:copy>
>> > > <bpws:from>
>> > > <literal>
>> > > <GetQuotes xmlns="
>> http://swanandmokashi.com">
>> > > <QuoteTicker/>
>> > > </GetQuotes>
>> > > </literal>
>> > > </bpws:from>
>> > > <bpws:to variable="quoteInput" part="parameters"/>
>> > > </bpws:copy>
>> > > <bpws:copy>
>> > >
>> > > <bpws:from><![CDATA[$input.payload/tns:input]]></bpws:from>
>> > >
>> > >
>> > <bpws:to><![CDATA[$quoteInput.parameters/quote:QuoteTicker]]></bpws:to>
>> > > </bpws:copy>
>> > > </bpws:assign>
>> > >
>> > >
>> > > Cheers, Rich Taylor
>> > >
>> > > On 8/31/07, Greg Bluntzer <gb...@gmail.com> wrote:
>> > >>
>> > >>
>> > >> Alex thanks for your help but im still stuck.
>> > >>
>> > >> Can anyone point me to a good example of initializing variables or
>> > tell
>> > >> me
>> > >> what to do. I looked through the other post and being new, don't
>> > really
>> > >> understand Alex's answer. Im using document style binding and am
>> > just
>> > >> trying to copy the input variable to the output variable.
>> > >>
>> > >>
>> > >> Eclipse BPEL has the following choices on Initializing Variables
>> > >> Variable
>> > >> Expression
>> > >> Fixed Value
>> > >> Property of Variable
>> > >> Partner Link Reference
>> > >> End Point Reference
>> > >> Opaque
>> > >>
>> > >> or am i supposed to use another assign?
>> > >>
>> > >> My WSDL, BPEL, DEPLOY, SOAP call are on previous post
>> > >>
>> > >>
>> > >> Thanks, Greg
>> > >>
>> > >>
>> > >>
>> > >> Alex Boisvert wrote:
>> > >> >
>> > >> > In your case, the "output" variable (payload part) needs to be
>> > >> initialized
>> > >> > with a literal element <tns:result> to satisfy the <to>
>> expression.
>> > >> >
>> > >> > alex
>> > >> >
>> > >> >
>> > >> > On 8/30/07, Alex Boisvert < boisvert@intalio.com> wrote:
>> > >> >>
>> > >> >> Hi Greg,
>> > >> >>
>> > >> >> See the (new) FAQ: *My process fails with a selectionFailure;
>> > What
>> > >> can
>> > >> I
>> > >> >> do?*<
>> > >>
>> http://cwiki.apache.org/confluence/display/ODExSITE/Frequently+Asked+Questions
>> >
>> > >> >
>> > >> >>
>> > >> >> I just added it since similar questions were asked recently.
>> > >> >>
>> > >> >> alex
>> > >> >>
>> > >> >>
>> > >> >> On 8/30/07, Greg Bluntzer < gbluntzer@gmail.com> wrote:
>> > >> >> >
>> > >> >> >
>> > >> >> > Thanks for your help now it deploys. But now i have a different
>> > >> issue.
>> > >> >> I
>> > >> >> > changed rpc to document as you suggested.
>> > >> >> > Now im getting a new error when i access the webservice. Im
>> > using
>> > >> >> SoapUI
>> > >> >> > to
>> > >> >> > create my SOAP Test
>> > >> >> >
>> > >> >> > Again Thanks for any help
>> > >> >> >
>> > >> >> > #####ERROR######
>> > >> >> > ERROR - GeronimoLog.error(108) | Error processing response for
>> > MEX
>> > >> >> > {MyRoleMex#hqejbhcnphr2jrxh4xvf4x
>> > >> >> > [Client hqejbhcnphr2jrxh4xvf4w] calling
>> > >> >> > {Test4}Test4Service.process(...)}
>> > >> >> > org.apache.axis2.AxisFault:
>> > >> >> >
>> > >> >> {
>> > >>
>> http://docs.oasis-open.org/wsbpel/2.0/process/executable}selectionFailu
>> >
>> >
>> <http://docs.oasis-open.org/wsbpel/2.0/process/executable%7DselectionFailu>
>> > <
>> > >>
>> >
>> http://docs.oasis-open.org/wsbpel/2.0/process/executable%7DselectionFailu
>> > >
>> > >> >> > re No results for expression: {OXPath10Expression /tns:result}
>> > >> >>
>> > >> >>
>> > >> >>
>> > >> >
>> > >> >
>> > >>
>> > >> --
>> > >> View this message in context:
>> > >>
>> >
>> http://www.nabble.com/Problems-with-ODE-1.1-Release-tf4355659.html#a12427799
>> > >> Sent from the Apache Ode User mailing list archive at Nabble.com.
>> > >>
>> > >>
>> > >
>> > >
>> >
>> > --
>> > View this message in context:
>> >
>> http://www.nabble.com/Problems-with-ODE-1.1-Release-tf4355659.html#a12433273
>> > Sent from the Apache Ode User mailing list archive at Nabble.com.
>> >
>> >
>>
>
>
--
View this message in context: http://www.nabble.com/Problems-with-ODE-1.1-Release-tf4355659.html#a12617935
Sent from the Apache Ode User mailing list archive at Nabble.com.
Re: Problems with ODE 1.1 Release
Posted by Rich Taylor <bh...@gmail.com>.
To clarify, the first sentence should have read "the input variable is being
initialized _unnecessarily_, effectively being set to an empty string." I
meant to say that the input message is correctly populated with data from
your incoming message, but you're accidentally wiping it out by initializing
the input variable. - Rich
On 8/31/07, Rich Taylor <bh...@gmail.com> wrote:
>
> In the process you attached, the "input" variable is being initialized,
> effectively being set to an empty string. It is then referenced, but it's
> already been wiped out, hence the blank response. Remove the first two
> "copy" operations from your "assign" activity and it should be closer to
> working.
>
> In your process, the input variable is populated/initialized by the
> "receive" activity in the beginning of the process, with the data
> "sdfgsdfg", from the incoming message. It's only the output variable that
> _you_ need to initialize, since it is an empty xml document.
>
> If you're looking for a minimal echo bpel process, I have attached one
> below. The process below was created with the Eclipse BPEL Designer and is
> very similar, just a simpler way to accomplish what you're after.
>
> If you notice, I didn't have to initialize the output variable. It may
> not have been clear from earlier emails, but you only have to initialize
> vars if you're going to copy a value into a section of a message that is
> deeper than the node you're specifying with "message" and "part". I
> realize that explanation may or may not help. I would say review the
> "Assign" section of the BPEL spec[1]. I had to read it several times and
> admit that I still get it all.
>
> Let us know if it still doesn't work.
>
> Peace, Rich
>
> [1] http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html#_Toc164738498
>
>
> <?xml version="1.0" encoding="UTF-8"?>
> <bpws:process exitOnStandardFault="yes" name="Test4"
> suppressJoinFailure="yes"
> targetNamespace="urn:test"
> xmlns:bpws="http://docs.oasis-open.org/wsbpel/2.0/process/executable"
> xmlns:tns="urn:test">
> <bpws:import importType=" http://schemas.xmlsoap.org/wsdl/"
> location="Test4.wsdl" namespace="urn:test"/>
> <bpws:partnerLinks>
> <bpws:partnerLink myRole="Test4Provider" name="client"
> partnerLinkType="tns:Test4"/>
> </bpws:partnerLinks>
> <bpws:variables>
> <bpws:variable messageType="tns:Test4RequestMessage"
> name="input"/>
> <bpws:variable messageType="tns:Test4ResponseMessage"
> name="output"/>
> </bpws:variables>
> <bpws:sequence name="main">
> <bpws:receive createInstance="yes" name="receiveInput"
> operation="process" partnerLink="client"
> portType="tns:Test4" variable="input"/>
> <bpws:assign name="Assign" validate="no">
> <bpws:copy>
> <bpws:from part="payload" variable="input"/>
> <bpws:to part="payload" variable="output"/>
> </bpws:copy>
> </bpws:assign>
> <bpws:reply name="replyOutput" operation="process"
> partnerLink="client" portType="tns:Test4" variable="output"/>
> </bpws:sequence>
> </bpws:process>
>
>
> On 8/31/07, Greg Bluntzer <gb...@gmail.com> wrote:
> >
> >
> > Ok it doesnt fail anymore but it doesnt copy the value over either what
> > am i
> > doing wrong.
> >
> > I was assuming that I need to initialize the output variable as well.
> >
> > ####WSDL#####
> > <?xml version=" 1.0"?>
> > <definitions name="Test4"
> > targetNamespace="http://Test4"
> > xmlns:tns="http://Test4"
> > xmlns:plnk=" http://docs.oasis-open.org/wsbpel/2.0/plnktype"
> > xmlns="http://schemas.xmlsoap.org/wsdl/"
> > xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/">
> >
> > <!--
> > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> > TYPE DEFINITION - List of types participating in this BPEL process
> > The BPEL Designer will generate default request and response types
> > but you can define or import any XML Schema type and use them as
> > part
> > of the message types.
> >
> > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> > -->
> > <types>
> > <schema attributeFormDefault="unqualified"
> > elementFormDefault="qualified"
> > targetNamespace="http://Test4 "
> > xmlns="http://www.w3.org/2001/XMLSchema">
> >
> > <element name="Test4Request">
> > <complexType>
> > <sequence>
> > <element name="input" type="string"/>
> > </sequence>
> > </complexType>
> > </element>
> >
> > <element name="Test4Response">
> > <complexType>
> > <sequence>
> > <element name="result" type="string"/>
> > </sequence>
> > </complexType>
> > </element>
> > </schema>
> > </types>
> >
> >
> > <!--
> > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> > MESSAGE TYPE DEFINITION - Definition of the message types used as
> > part of the port type defintions
> >
> > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> > -->
> > <message name="Test4RequestMessage">
> > <part name="payload" element="tns:Test4Request"/>
> > </message>
> > <message name="Test4ResponseMessage">
> > <part name="payload" element="tns:Test4Response"/>
> > </message>
> >
> > <!--
> > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> > PORT TYPE DEFINITION - A port type groups a set of operations into
> > a logical service unit.
> >
> > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> > -->
> >
> > <!-- portType implemented by the Test4 BPEL process -->
> > <portType name="Test4">
> > <operation name="process">
> > <input message="tns:Test4RequestMessage" />
> > <output message="tns:Test4ResponseMessage"/>
> > </operation>
> > </portType>
> >
> >
> > <!--
> > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> > PARTNER LINK TYPE DEFINITION
> >
> > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> > -->
> > <plnk:partnerLinkType name="Test4">
> > <plnk:role name="Test4Provider" portType="tns:Test4"/>
> > </plnk:partnerLinkType>
> >
> > <binding name="Test4SOAPBinding" type="tns:Test4">
> > <soap:binding style="document"
> > transport=" http://schemas.xmlsoap.org/soap/http" />
> > <operation name="process">
> > <soap:operation soapAction="http://Test4/process" />
> > <input>
> > <soap:body use="literal" />
> > </input>
> > <output>
> > <soap:body use="literal" />
> > </output>
> > </operation>
> > </binding>
> > <service name="Test4Service">
> > <port name="Test4Port" binding="tns:Test4SOAPBinding">
> > <soap:address
> > location="http://localhost:8080/ode/processes/Test4"></soap:address>
> > </port>
> > </service>
> > </definitions>
> >
> >
> >
> >
> > ####BPEL####
> >
> > <?xml version="1.0" encoding="UTF-8"?>
> > <bpws:process exitOnStandardFault="yes" name="Test4"
> > suppressJoinFailure="yes" targetNamespace=" http://Test4"
> > xmlns:bpws="http://docs.oasis-open.org/wsbpel/2.0/process/executable
> > "
> > xmlns:tns=" http://Test4">
> > <bpws:import importType="http://schemas.xmlsoap.org/wsdl/"
> > location="Test4.wsdl" namespace=" http://Test4"/>
> > <bpws:partnerLinks>
> > <bpws:partnerLink myRole="Test4Provider" name="client"
> > partnerLinkType="tns:Test4"/>
> > </bpws:partnerLinks>
> > <bpws:variables>
> > <bpws:variable messageType="tns:Test4RequestMessage"
> > name="input"/>
> > <bpws:variable messageType="tns:Test4ResponseMessage"
> > name="output"/>
> > </bpws:variables>
> > <bpws:sequence name="main">
> > <bpws:receive createInstance="yes" name="receiveInput"
> > operation="process" partnerLink="client"
> > portType="tns:Test4" variable="input"/>
> > <bpws:assign name="Assign" validate="no">
> > <bpws:copy keepSrcElementName="yes">
> > <bpws:from>
> > <bpws:literal>
> > <Test4Request xmlns="http://Test4">
> > <input/>
> > </Test4Request>
> > </bpws:literal>
> > </bpws:from>
> > <bpws:to part="payload" variable="input"/>
> > </bpws:copy>
> > <bpws:copy>
> > <bpws:from part="payload" variable="input">
> > <bpws:query
> > queryLanguage="urn:oasis:names:tc:wsbpel: 2.0:sublang:xpath1.0
> > "><![CDATA[/tns:input]]></bpws:query>
> > </bpws:from>
> > <bpws:to><![CDATA[$input.payload/tns:input]]></bpws:to>
> > </bpws:copy>
> > <bpws:copy keepSrcElementName="yes">
> > <bpws:from>
> > <bpws:literal>
> > <Test4Response xmlns=" http://Test4">
> > <result/>
> > </Test4Response>
> > </bpws:literal>
> > </bpws:from>
> > <bpws:to part="payload" variable="output"/>
> > </bpws:copy>
> > <bpws:copy>
> > <bpws:from part="payload" variable="input">
> > <bpws:query
> > queryLanguage="urn:oasis:names:tc:wsbpel: 2.0:sublang:xpath1.0
> > "><![CDATA[/tns:input]]></bpws:query>
> > </bpws:from>
> >
> > <bpws:to><![CDATA[$output.payload/tns:result]]></bpws:to>
> > </bpws:copy>
> > </bpws:assign>
> > <bpws:reply name="replyOutput" operation="process"
> > partnerLink="client" portType="tns:Test4"
> > variable="output"/>
> > </bpws:sequence>
> > </bpws:process>
> >
> > #### DEPLOY ####
> > <deploy xmlns="http://www.apache.org/ode/schemas/dd/2007/03"
> > xmlns:pns=" http://Test4"
> > xmlns:wns="http://Test4">
> >
> >
> > <process name="pns:Test4">
> > <active>true</active>
> > <provide partnerLink="client">
> > <service name="wns:Test4Service"
> > port="Test4Port"/>
> > </provide>
> > </process>
> > </deploy>
> >
> > #### SOAP ####
> > <soapenv:Envelope xmlns:soapenv="
> > http://schemas.xmlsoap.org/soap/envelope/"
> > xmlns:tes=" http://Test4">
> > <soapenv:Header/>
> > <soapenv:Body>
> > <tes:Test4Request>
> > <tes:input>sdfgsdfg</tes:input>
> > </tes:Test4Request>
> > </soapenv:Body>
> > </soapenv:Envelope>
> >
> > #### SOAP RESPONSE ####
> > <soapenv:Envelope xmlns:soapenv="
> > http://schemas.xmlsoap.org/soap/envelope/">
> > <soapenv:Body>
> > <axis2ns1:Test4Response xmlns:axis2ns1="http://Test4"
> > xmlns="http://Test4">
> > <result/>
> > </axis2ns1:Test4Response>
> > </soapenv:Body>
> > </soapenv:Envelope>
> >
> >
> > RichTaylor wrote:
> > >
> > > Hi Greg, this threw me off for a while as well. Basically before you
> > > assign
> > > a value into an xml document (a variable in this case), it, as an xml
> > > document must exist. The simplest way to do this in your case would
> > be to
> > > add another "copy" operation in your assign, right before your current
> > one
> > > (can be in the same assign activity). In the eclipse editor, select
> > > "Fixed
> > > Value", then type a raw XML document that conforms to your schema type
> > > tns:Test4ResponseMessage.
> > > I don't see that aspect of your WSDL so I can't give you an exact
> > example.
> > > But it would look something like the following in your BPEL (note,
> > the
> > > Eclipse designer add the "literal" element for you). Notice the _two_
> > > "copy" operations, the first one is the one you're missing. Let me
> > know
> > > if
> > > this isn't clear.
> > >
> > > <bpws:assign>
> > > <bpws:copy>
> > > <bpws:from>
> > > <literal>
> > > <GetQuotes xmlns=" http://swanandmokashi.com">
> > > <QuoteTicker/>
> > > </GetQuotes>
> > > </literal>
> > > </bpws:from>
> > > <bpws:to variable="quoteInput" part="parameters"/>
> > > </bpws:copy>
> > > <bpws:copy>
> > >
> > > <bpws:from><![CDATA[$input.payload/tns:input]]></bpws:from>
> > >
> > >
> > <bpws:to><![CDATA[$quoteInput.parameters/quote:QuoteTicker]]></bpws:to>
> > > </bpws:copy>
> > > </bpws:assign>
> > >
> > >
> > > Cheers, Rich Taylor
> > >
> > > On 8/31/07, Greg Bluntzer <gb...@gmail.com> wrote:
> > >>
> > >>
> > >> Alex thanks for your help but im still stuck.
> > >>
> > >> Can anyone point me to a good example of initializing variables or
> > tell
> > >> me
> > >> what to do. I looked through the other post and being new, don't
> > really
> > >> understand Alex's answer. Im using document style binding and am
> > just
> > >> trying to copy the input variable to the output variable.
> > >>
> > >>
> > >> Eclipse BPEL has the following choices on Initializing Variables
> > >> Variable
> > >> Expression
> > >> Fixed Value
> > >> Property of Variable
> > >> Partner Link Reference
> > >> End Point Reference
> > >> Opaque
> > >>
> > >> or am i supposed to use another assign?
> > >>
> > >> My WSDL, BPEL, DEPLOY, SOAP call are on previous post
> > >>
> > >>
> > >> Thanks, Greg
> > >>
> > >>
> > >>
> > >> Alex Boisvert wrote:
> > >> >
> > >> > In your case, the "output" variable (payload part) needs to be
> > >> initialized
> > >> > with a literal element <tns:result> to satisfy the <to> expression.
> > >> >
> > >> > alex
> > >> >
> > >> >
> > >> > On 8/30/07, Alex Boisvert < boisvert@intalio.com> wrote:
> > >> >>
> > >> >> Hi Greg,
> > >> >>
> > >> >> See the (new) FAQ: *My process fails with a selectionFailure;
> > What
> > >> can
> > >> I
> > >> >> do?*<
> > >> http://cwiki.apache.org/confluence/display/ODExSITE/Frequently+Asked+Questions
> >
> > >> >
> > >> >>
> > >> >> I just added it since similar questions were asked recently.
> > >> >>
> > >> >> alex
> > >> >>
> > >> >>
> > >> >> On 8/30/07, Greg Bluntzer < gbluntzer@gmail.com> wrote:
> > >> >> >
> > >> >> >
> > >> >> > Thanks for your help now it deploys. But now i have a different
> > >> issue.
> > >> >> I
> > >> >> > changed rpc to document as you suggested.
> > >> >> > Now im getting a new error when i access the webservice. Im
> > using
> > >> >> SoapUI
> > >> >> > to
> > >> >> > create my SOAP Test
> > >> >> >
> > >> >> > Again Thanks for any help
> > >> >> >
> > >> >> > #####ERROR######
> > >> >> > ERROR - GeronimoLog.error(108) | Error processing response for
> > MEX
> > >> >> > {MyRoleMex#hqejbhcnphr2jrxh4xvf4x
> > >> >> > [Client hqejbhcnphr2jrxh4xvf4w] calling
> > >> >> > {Test4}Test4Service.process(...)}
> > >> >> > org.apache.axis2.AxisFault:
> > >> >> >
> > >> >> {
> > >> http://docs.oasis-open.org/wsbpel/2.0/process/executable}selectionFailu
> >
> > <http://docs.oasis-open.org/wsbpel/2.0/process/executable%7DselectionFailu>
> > <
> > >>
> > http://docs.oasis-open.org/wsbpel/2.0/process/executable%7DselectionFailu
> > >
> > >> >> > re No results for expression: {OXPath10Expression /tns:result}
> > >> >>
> > >> >>
> > >> >>
> > >> >
> > >> >
> > >>
> > >> --
> > >> View this message in context:
> > >>
> > http://www.nabble.com/Problems-with-ODE-1.1-Release-tf4355659.html#a12427799
> > >> Sent from the Apache Ode User mailing list archive at Nabble.com.
> > >>
> > >>
> > >
> > >
> >
> > --
> > View this message in context:
> > http://www.nabble.com/Problems-with-ODE-1.1-Release-tf4355659.html#a12433273
> > Sent from the Apache Ode User mailing list archive at Nabble.com.
> >
> >
>
Re: Problems with ODE 1.1 Release
Posted by Rich Taylor <bh...@gmail.com>.
In the process you attached, the "input" variable is being initialized,
effectively being set to an empty string. It is then referenced, but it's
already been wiped out, hence the blank response. Remove the first two
"copy" operations from your "assign" activity and it should be closer to
working.
In your process, the input variable is populated/initialized by the
"receive" activity in the beginning of the process, with the data
"sdfgsdfg", from the incoming message. It's only the output variable that
_you_ need to initialize, since it is an empty xml document.
If you're looking for a minimal echo bpel process, I have attached one
below. The process below was created with the Eclipse BPEL Designer and is
very similar, just a simpler way to accomplish what you're after.
If you notice, I didn't have to initialize the output variable. It may not
have been clear from earlier emails, but you only have to initialize vars if
you're going to copy a value into a section of a message that is deeper than
the node you're specifying with "message" and "part". I realize that
explanation may or may not help. I would say review the "Assign" section of
the BPEL spec[1]. I had to read it several times and admit that I still get
it all.
Let us know if it still doesn't work.
Peace, Rich
[1]
http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html#_Toc164738498
<?xml version="1.0" encoding="UTF-8"?>
<bpws:process exitOnStandardFault="yes" name="Test4"
suppressJoinFailure="yes"
targetNamespace="urn:test"
xmlns:bpws="http://docs.oasis-open.org/wsbpel/2.0/process/executable"
xmlns:tns="urn:test">
<bpws:import importType="http://schemas.xmlsoap.org/wsdl/"
location="Test4.wsdl" namespace="urn:test"/>
<bpws:partnerLinks>
<bpws:partnerLink myRole="Test4Provider" name="client"
partnerLinkType="tns:Test4"/>
</bpws:partnerLinks>
<bpws:variables>
<bpws:variable messageType="tns:Test4RequestMessage" name="input"/>
<bpws:variable messageType="tns:Test4ResponseMessage"
name="output"/>
</bpws:variables>
<bpws:sequence name="main">
<bpws:receive createInstance="yes" name="receiveInput"
operation="process" partnerLink="client"
portType="tns:Test4" variable="input"/>
<bpws:assign name="Assign" validate="no">
<bpws:copy>
<bpws:from part="payload" variable="input"/>
<bpws:to part="payload" variable="output"/>
</bpws:copy>
</bpws:assign>
<bpws:reply name="replyOutput" operation="process"
partnerLink="client" portType="tns:Test4" variable="output"/>
</bpws:sequence>
</bpws:process>
On 8/31/07, Greg Bluntzer <gb...@gmail.com> wrote:
>
>
> Ok it doesnt fail anymore but it doesnt copy the value over either what am
> i
> doing wrong.
>
> I was assuming that I need to initialize the output variable as well.
>
> ####WSDL#####
> <?xml version="1.0"?>
> <definitions name="Test4"
> targetNamespace="http://Test4"
> xmlns:tns="http://Test4"
> xmlns:plnk="http://docs.oasis-open.org/wsbpel/2.0/plnktype"
> xmlns="http://schemas.xmlsoap.org/wsdl/"
> xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/">
>
> <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> TYPE DEFINITION - List of types participating in this BPEL process
> The BPEL Designer will generate default request and response types
> but you can define or import any XML Schema type and use them as part
> of the message types.
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> -->
> <types>
> <schema attributeFormDefault="unqualified"
> elementFormDefault="qualified"
> targetNamespace="http://Test4"
> xmlns="http://www.w3.org/2001/XMLSchema">
>
> <element name="Test4Request">
> <complexType>
> <sequence>
> <element name="input" type="string"/>
> </sequence>
> </complexType>
> </element>
>
> <element name="Test4Response">
> <complexType>
> <sequence>
> <element name="result" type="string"/>
> </sequence>
> </complexType>
> </element>
> </schema>
> </types>
>
>
> <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> MESSAGE TYPE DEFINITION - Definition of the message types used as
> part of the port type defintions
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> -->
> <message name="Test4RequestMessage">
> <part name="payload" element="tns:Test4Request"/>
> </message>
> <message name="Test4ResponseMessage">
> <part name="payload" element="tns:Test4Response"/>
> </message>
>
> <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> PORT TYPE DEFINITION - A port type groups a set of operations into
> a logical service unit.
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> -->
>
> <!-- portType implemented by the Test4 BPEL process -->
> <portType name="Test4">
> <operation name="process">
> <input message="tns:Test4RequestMessage" />
> <output message="tns:Test4ResponseMessage"/>
> </operation>
> </portType>
>
>
> <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> PARTNER LINK TYPE DEFINITION
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> -->
> <plnk:partnerLinkType name="Test4">
> <plnk:role name="Test4Provider" portType="tns:Test4"/>
> </plnk:partnerLinkType>
>
> <binding name="Test4SOAPBinding" type="tns:Test4">
> <soap:binding style="document"
> transport="http://schemas.xmlsoap.org/soap/http" />
> <operation name="process">
> <soap:operation soapAction="http://Test4/process" />
> <input>
> <soap:body use="literal" />
> </input>
> <output>
> <soap:body use="literal" />
> </output>
> </operation>
> </binding>
> <service name="Test4Service">
> <port name="Test4Port" binding="tns:Test4SOAPBinding">
> <soap:address
> location="http://localhost:8080/ode/processes/Test4"></soap:address>
> </port>
> </service>
> </definitions>
>
>
>
>
> ####BPEL####
>
> <?xml version="1.0" encoding="UTF-8"?>
> <bpws:process exitOnStandardFault="yes" name="Test4"
> suppressJoinFailure="yes" targetNamespace="http://Test4"
> xmlns:bpws="http://docs.oasis-open.org/wsbpel/2.0/process/executable"
> xmlns:tns="http://Test4">
> <bpws:import importType="http://schemas.xmlsoap.org/wsdl/"
> location="Test4.wsdl" namespace="http://Test4"/>
> <bpws:partnerLinks>
> <bpws:partnerLink myRole="Test4Provider" name="client"
> partnerLinkType="tns:Test4"/>
> </bpws:partnerLinks>
> <bpws:variables>
> <bpws:variable messageType="tns:Test4RequestMessage"
> name="input"/>
> <bpws:variable messageType="tns:Test4ResponseMessage"
> name="output"/>
> </bpws:variables>
> <bpws:sequence name="main">
> <bpws:receive createInstance="yes" name="receiveInput"
> operation="process" partnerLink="client"
> portType="tns:Test4" variable="input"/>
> <bpws:assign name="Assign" validate="no">
> <bpws:copy keepSrcElementName="yes">
> <bpws:from>
> <bpws:literal>
> <Test4Request xmlns="http://Test4">
> <input/>
> </Test4Request>
> </bpws:literal>
> </bpws:from>
> <bpws:to part="payload" variable="input"/>
> </bpws:copy>
> <bpws:copy>
> <bpws:from part="payload" variable="input">
> <bpws:query
> queryLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0
> "><![CDATA[/tns:input]]></bpws:query>
> </bpws:from>
> <bpws:to><![CDATA[$input.payload/tns:input]]></bpws:to>
> </bpws:copy>
> <bpws:copy keepSrcElementName="yes">
> <bpws:from>
> <bpws:literal>
> <Test4Response xmlns="http://Test4">
> <result/>
> </Test4Response>
> </bpws:literal>
> </bpws:from>
> <bpws:to part="payload" variable="output"/>
> </bpws:copy>
> <bpws:copy>
> <bpws:from part="payload" variable="input">
> <bpws:query
> queryLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0
> "><![CDATA[/tns:input]]></bpws:query>
> </bpws:from>
> <bpws:to><![CDATA[$output.payload/tns:result]]></bpws:to>
> </bpws:copy>
> </bpws:assign>
> <bpws:reply name="replyOutput" operation="process"
> partnerLink="client" portType="tns:Test4" variable="output"/>
> </bpws:sequence>
> </bpws:process>
>
> #### DEPLOY ####
> <deploy xmlns="http://www.apache.org/ode/schemas/dd/2007/03"
> xmlns:pns="http://Test4"
> xmlns:wns="http://Test4">
>
>
> <process name="pns:Test4">
> <active>true</active>
> <provide partnerLink="client">
> <service name="wns:Test4Service"
> port="Test4Port"/>
> </provide>
> </process>
> </deploy>
>
> #### SOAP ####
> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/
> "
> xmlns:tes="http://Test4">
> <soapenv:Header/>
> <soapenv:Body>
> <tes:Test4Request>
> <tes:input>sdfgsdfg</tes:input>
> </tes:Test4Request>
> </soapenv:Body>
> </soapenv:Envelope>
>
> #### SOAP RESPONSE ####
> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/
> ">
> <soapenv:Body>
> <axis2ns1:Test4Response xmlns:axis2ns1="http://Test4"
> xmlns="http://Test4">
> <result/>
> </axis2ns1:Test4Response>
> </soapenv:Body>
> </soapenv:Envelope>
>
>
> RichTaylor wrote:
> >
> > Hi Greg, this threw me off for a while as well. Basically before you
> > assign
> > a value into an xml document (a variable in this case), it, as an xml
> > document must exist. The simplest way to do this in your case would be
> to
> > add another "copy" operation in your assign, right before your current
> one
> > (can be in the same assign activity). In the eclipse editor, select
> > "Fixed
> > Value", then type a raw XML document that conforms to your schema type
> > tns:Test4ResponseMessage.
> > I don't see that aspect of your WSDL so I can't give you an exact
> example.
> > But it would look something like the following in your BPEL (note, the
> > Eclipse designer add the "literal" element for you). Notice the _two_
> > "copy" operations, the first one is the one you're missing. Let me
> know
> > if
> > this isn't clear.
> >
> > <bpws:assign>
> > <bpws:copy>
> > <bpws:from>
> > <literal>
> > <GetQuotes xmlns="http://swanandmokashi.com">
> > <QuoteTicker/>
> > </GetQuotes>
> > </literal>
> > </bpws:from>
> > <bpws:to variable="quoteInput" part="parameters"/>
> > </bpws:copy>
> > <bpws:copy>
> >
> > <bpws:from><![CDATA[$input.payload/tns:input]]></bpws:from>
> >
> > <bpws:to><![CDATA[$quoteInput.parameters/quote:QuoteTicker]]></bpws:to>
> > </bpws:copy>
> > </bpws:assign>
> >
> >
> > Cheers, Rich Taylor
> >
> > On 8/31/07, Greg Bluntzer <gb...@gmail.com> wrote:
> >>
> >>
> >> Alex thanks for your help but im still stuck.
> >>
> >> Can anyone point me to a good example of initializing variables or tell
> >> me
> >> what to do. I looked through the other post and being new, don't
> really
> >> understand Alex's answer. Im using document style binding and am just
> >> trying to copy the input variable to the output variable.
> >>
> >>
> >> Eclipse BPEL has the following choices on Initializing Variables
> >> Variable
> >> Expression
> >> Fixed Value
> >> Property of Variable
> >> Partner Link Reference
> >> End Point Reference
> >> Opaque
> >>
> >> or am i supposed to use another assign?
> >>
> >> My WSDL, BPEL, DEPLOY, SOAP call are on previous post
> >>
> >>
> >> Thanks, Greg
> >>
> >>
> >>
> >> Alex Boisvert wrote:
> >> >
> >> > In your case, the "output" variable (payload part) needs to be
> >> initialized
> >> > with a literal element <tns:result> to satisfy the <to> expression.
> >> >
> >> > alex
> >> >
> >> >
> >> > On 8/30/07, Alex Boisvert <bo...@intalio.com> wrote:
> >> >>
> >> >> Hi Greg,
> >> >>
> >> >> See the (new) FAQ: *My process fails with a selectionFailure; What
> >> can
> >> I
> >> >> do?*<
> >>
> http://cwiki.apache.org/confluence/display/ODExSITE/Frequently+Asked+Questions
> >> >
> >> >>
> >> >> I just added it since similar questions were asked recently.
> >> >>
> >> >> alex
> >> >>
> >> >>
> >> >> On 8/30/07, Greg Bluntzer <gb...@gmail.com> wrote:
> >> >> >
> >> >> >
> >> >> > Thanks for your help now it deploys. But now i have a different
> >> issue.
> >> >> I
> >> >> > changed rpc to document as you suggested.
> >> >> > Now im getting a new error when i access the webservice. Im using
> >> >> SoapUI
> >> >> > to
> >> >> > create my SOAP Test
> >> >> >
> >> >> > Again Thanks for any help
> >> >> >
> >> >> > #####ERROR######
> >> >> > ERROR - GeronimoLog.error(108) | Error processing response for MEX
> >> >> > {MyRoleMex#hqejbhcnphr2jrxh4xvf4x
> >> >> > [Client hqejbhcnphr2jrxh4xvf4w] calling
> >> >> > {Test4}Test4Service.process(...)}
> >> >> > org.apache.axis2.AxisFault:
> >> >> >
> >> >> {
> >> http://docs.oasis-open.org/wsbpel/2.0/process/executable}selectionFailu
> <
> >>
> http://docs.oasis-open.org/wsbpel/2.0/process/executable%7DselectionFailu>
> >> >> > re No results for expression: {OXPath10Expression /tns:result}
> >> >>
> >> >>
> >> >>
> >> >
> >> >
> >>
> >> --
> >> View this message in context:
> >>
> http://www.nabble.com/Problems-with-ODE-1.1-Release-tf4355659.html#a12427799
> >> Sent from the Apache Ode User mailing list archive at Nabble.com.
> >>
> >>
> >
> >
>
> --
> View this message in context:
> http://www.nabble.com/Problems-with-ODE-1.1-Release-tf4355659.html#a12433273
> Sent from the Apache Ode User mailing list archive at Nabble.com.
>
>
Re: Problems with ODE 1.1 Release
Posted by Greg Bluntzer <gb...@gmail.com>.
Ok it doesnt fail anymore but it doesnt copy the value over either what am i
doing wrong.
I was assuming that I need to initialize the output variable as well.
####WSDL#####
<?xml version="1.0"?>
<definitions name="Test4"
targetNamespace="http://Test4"
xmlns:tns="http://Test4"
xmlns:plnk="http://docs.oasis-open.org/wsbpel/2.0/plnktype"
xmlns="http://schemas.xmlsoap.org/wsdl/"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/">
<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
TYPE DEFINITION - List of types participating in this BPEL process
The BPEL Designer will generate default request and response types
but you can define or import any XML Schema type and use them as part
of the message types.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-->
<types>
<schema attributeFormDefault="unqualified"
elementFormDefault="qualified"
targetNamespace="http://Test4"
xmlns="http://www.w3.org/2001/XMLSchema">
<element name="Test4Request">
<complexType>
<sequence>
<element name="input" type="string"/>
</sequence>
</complexType>
</element>
<element name="Test4Response">
<complexType>
<sequence>
<element name="result" type="string"/>
</sequence>
</complexType>
</element>
</schema>
</types>
<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
MESSAGE TYPE DEFINITION - Definition of the message types used as
part of the port type defintions
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-->
<message name="Test4RequestMessage">
<part name="payload" element="tns:Test4Request"/>
</message>
<message name="Test4ResponseMessage">
<part name="payload" element="tns:Test4Response"/>
</message>
<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
PORT TYPE DEFINITION - A port type groups a set of operations into
a logical service unit.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-->
<!-- portType implemented by the Test4 BPEL process -->
<portType name="Test4">
<operation name="process">
<input message="tns:Test4RequestMessage" />
<output message="tns:Test4ResponseMessage"/>
</operation>
</portType>
<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
PARTNER LINK TYPE DEFINITION
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-->
<plnk:partnerLinkType name="Test4">
<plnk:role name="Test4Provider" portType="tns:Test4"/>
</plnk:partnerLinkType>
<binding name="Test4SOAPBinding" type="tns:Test4">
<soap:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http" />
<operation name="process">
<soap:operation soapAction="http://Test4/process" />
<input>
<soap:body use="literal" />
</input>
<output>
<soap:body use="literal" />
</output>
</operation>
</binding>
<service name="Test4Service">
<port name="Test4Port" binding="tns:Test4SOAPBinding">
<soap:address
location="http://localhost:8080/ode/processes/Test4"></soap:address>
</port>
</service>
</definitions>
####BPEL####
<?xml version="1.0" encoding="UTF-8"?>
<bpws:process exitOnStandardFault="yes" name="Test4"
suppressJoinFailure="yes" targetNamespace="http://Test4"
xmlns:bpws="http://docs.oasis-open.org/wsbpel/2.0/process/executable"
xmlns:tns="http://Test4">
<bpws:import importType="http://schemas.xmlsoap.org/wsdl/"
location="Test4.wsdl" namespace="http://Test4"/>
<bpws:partnerLinks>
<bpws:partnerLink myRole="Test4Provider" name="client"
partnerLinkType="tns:Test4"/>
</bpws:partnerLinks>
<bpws:variables>
<bpws:variable messageType="tns:Test4RequestMessage" name="input"/>
<bpws:variable messageType="tns:Test4ResponseMessage"
name="output"/>
</bpws:variables>
<bpws:sequence name="main">
<bpws:receive createInstance="yes" name="receiveInput"
operation="process" partnerLink="client"
portType="tns:Test4" variable="input"/>
<bpws:assign name="Assign" validate="no">
<bpws:copy keepSrcElementName="yes">
<bpws:from>
<bpws:literal>
<Test4Request xmlns="http://Test4">
<input/>
</Test4Request>
</bpws:literal>
</bpws:from>
<bpws:to part="payload" variable="input"/>
</bpws:copy>
<bpws:copy>
<bpws:from part="payload" variable="input">
<bpws:query
queryLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0"><![CDATA[/tns:input]]></bpws:query>
</bpws:from>
<bpws:to><![CDATA[$input.payload/tns:input]]></bpws:to>
</bpws:copy>
<bpws:copy keepSrcElementName="yes">
<bpws:from>
<bpws:literal>
<Test4Response xmlns="http://Test4">
<result/>
</Test4Response>
</bpws:literal>
</bpws:from>
<bpws:to part="payload" variable="output"/>
</bpws:copy>
<bpws:copy>
<bpws:from part="payload" variable="input">
<bpws:query
queryLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0"><![CDATA[/tns:input]]></bpws:query>
</bpws:from>
<bpws:to><![CDATA[$output.payload/tns:result]]></bpws:to>
</bpws:copy>
</bpws:assign>
<bpws:reply name="replyOutput" operation="process"
partnerLink="client" portType="tns:Test4" variable="output"/>
</bpws:sequence>
</bpws:process>
#### DEPLOY ####
<deploy xmlns="http://www.apache.org/ode/schemas/dd/2007/03"
xmlns:pns="http://Test4"
xmlns:wns="http://Test4">
<process name="pns:Test4">
<active>true</active>
<provide partnerLink="client">
<service name="wns:Test4Service" port="Test4Port"/>
</provide>
</process>
</deploy>
#### SOAP ####
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:tes="http://Test4">
<soapenv:Header/>
<soapenv:Body>
<tes:Test4Request>
<tes:input>sdfgsdfg</tes:input>
</tes:Test4Request>
</soapenv:Body>
</soapenv:Envelope>
#### SOAP RESPONSE ####
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Body>
<axis2ns1:Test4Response xmlns:axis2ns1="http://Test4"
xmlns="http://Test4">
<result/>
</axis2ns1:Test4Response>
</soapenv:Body>
</soapenv:Envelope>
RichTaylor wrote:
>
> Hi Greg, this threw me off for a while as well. Basically before you
> assign
> a value into an xml document (a variable in this case), it, as an xml
> document must exist. The simplest way to do this in your case would be to
> add another "copy" operation in your assign, right before your current one
> (can be in the same assign activity). In the eclipse editor, select
> "Fixed
> Value", then type a raw XML document that conforms to your schema type
> tns:Test4ResponseMessage.
> I don't see that aspect of your WSDL so I can't give you an exact example.
> But it would look something like the following in your BPEL (note, the
> Eclipse designer add the "literal" element for you). Notice the _two_
> "copy" operations, the first one is the one you're missing. Let me know
> if
> this isn't clear.
>
> <bpws:assign>
> <bpws:copy>
> <bpws:from>
> <literal>
> <GetQuotes xmlns="http://swanandmokashi.com">
> <QuoteTicker/>
> </GetQuotes>
> </literal>
> </bpws:from>
> <bpws:to variable="quoteInput" part="parameters"/>
> </bpws:copy>
> <bpws:copy>
>
> <bpws:from><![CDATA[$input.payload/tns:input]]></bpws:from>
>
> <bpws:to><![CDATA[$quoteInput.parameters/quote:QuoteTicker]]></bpws:to>
> </bpws:copy>
> </bpws:assign>
>
>
> Cheers, Rich Taylor
>
> On 8/31/07, Greg Bluntzer <gb...@gmail.com> wrote:
>>
>>
>> Alex thanks for your help but im still stuck.
>>
>> Can anyone point me to a good example of initializing variables or tell
>> me
>> what to do. I looked through the other post and being new, don't really
>> understand Alex's answer. Im using document style binding and am just
>> trying to copy the input variable to the output variable.
>>
>>
>> Eclipse BPEL has the following choices on Initializing Variables
>> Variable
>> Expression
>> Fixed Value
>> Property of Variable
>> Partner Link Reference
>> End Point Reference
>> Opaque
>>
>> or am i supposed to use another assign?
>>
>> My WSDL, BPEL, DEPLOY, SOAP call are on previous post
>>
>>
>> Thanks, Greg
>>
>>
>>
>> Alex Boisvert wrote:
>> >
>> > In your case, the "output" variable (payload part) needs to be
>> initialized
>> > with a literal element <tns:result> to satisfy the <to> expression.
>> >
>> > alex
>> >
>> >
>> > On 8/30/07, Alex Boisvert <bo...@intalio.com> wrote:
>> >>
>> >> Hi Greg,
>> >>
>> >> See the (new) FAQ: *My process fails with a selectionFailure; What
>> can
>> I
>> >> do?*<
>> http://cwiki.apache.org/confluence/display/ODExSITE/Frequently+Asked+Questions
>> >
>> >>
>> >> I just added it since similar questions were asked recently.
>> >>
>> >> alex
>> >>
>> >>
>> >> On 8/30/07, Greg Bluntzer <gb...@gmail.com> wrote:
>> >> >
>> >> >
>> >> > Thanks for your help now it deploys. But now i have a different
>> issue.
>> >> I
>> >> > changed rpc to document as you suggested.
>> >> > Now im getting a new error when i access the webservice. Im using
>> >> SoapUI
>> >> > to
>> >> > create my SOAP Test
>> >> >
>> >> > Again Thanks for any help
>> >> >
>> >> > #####ERROR######
>> >> > ERROR - GeronimoLog.error(108) | Error processing response for MEX
>> >> > {MyRoleMex#hqejbhcnphr2jrxh4xvf4x
>> >> > [Client hqejbhcnphr2jrxh4xvf4w] calling
>> >> > {Test4}Test4Service.process(...)}
>> >> > org.apache.axis2.AxisFault:
>> >> >
>> >> {
>> http://docs.oasis-open.org/wsbpel/2.0/process/executable}selectionFailu<
>> http://docs.oasis-open.org/wsbpel/2.0/process/executable%7DselectionFailu>
>> >> > re No results for expression: {OXPath10Expression /tns:result}
>> >>
>> >>
>> >>
>> >
>> >
>>
>> --
>> View this message in context:
>> http://www.nabble.com/Problems-with-ODE-1.1-Release-tf4355659.html#a12427799
>> Sent from the Apache Ode User mailing list archive at Nabble.com.
>>
>>
>
>
--
View this message in context: http://www.nabble.com/Problems-with-ODE-1.1-Release-tf4355659.html#a12433273
Sent from the Apache Ode User mailing list archive at Nabble.com.
Re: Problems with ODE 1.1 Release
Posted by Rich Taylor <bh...@gmail.com>.
Hi Greg, this threw me off for a while as well. Basically before you assign
a value into an xml document (a variable in this case), it, as an xml
document must exist. The simplest way to do this in your case would be to
add another "copy" operation in your assign, right before your current one
(can be in the same assign activity). In the eclipse editor, select "Fixed
Value", then type a raw XML document that conforms to your schema type
tns:Test4ResponseMessage.
I don't see that aspect of your WSDL so I can't give you an exact example.
But it would look something like the following in your BPEL (note, the
Eclipse designer add the "literal" element for you). Notice the _two_
"copy" operations, the first one is the one you're missing. Let me know if
this isn't clear.
<bpws:assign>
<bpws:copy>
<bpws:from>
<literal>
<GetQuotes xmlns="http://swanandmokashi.com">
<QuoteTicker/>
</GetQuotes>
</literal>
</bpws:from>
<bpws:to variable="quoteInput" part="parameters"/>
</bpws:copy>
<bpws:copy>
<bpws:from><![CDATA[$input.payload/tns:input]]></bpws:from>
<bpws:to><![CDATA[$quoteInput.parameters/quote:QuoteTicker]]></bpws:to>
</bpws:copy>
</bpws:assign>
Cheers, Rich Taylor
On 8/31/07, Greg Bluntzer <gb...@gmail.com> wrote:
>
>
> Alex thanks for your help but im still stuck.
>
> Can anyone point me to a good example of initializing variables or tell me
> what to do. I looked through the other post and being new, don't really
> understand Alex's answer. Im using document style binding and am just
> trying to copy the input variable to the output variable.
>
>
> Eclipse BPEL has the following choices on Initializing Variables
> Variable
> Expression
> Fixed Value
> Property of Variable
> Partner Link Reference
> End Point Reference
> Opaque
>
> or am i supposed to use another assign?
>
> My WSDL, BPEL, DEPLOY, SOAP call are on previous post
>
>
> Thanks, Greg
>
>
>
> Alex Boisvert wrote:
> >
> > In your case, the "output" variable (payload part) needs to be
> initialized
> > with a literal element <tns:result> to satisfy the <to> expression.
> >
> > alex
> >
> >
> > On 8/30/07, Alex Boisvert <bo...@intalio.com> wrote:
> >>
> >> Hi Greg,
> >>
> >> See the (new) FAQ: *My process fails with a selectionFailure; What can
> I
> >> do?*<
> http://cwiki.apache.org/confluence/display/ODExSITE/Frequently+Asked+Questions
> >
> >>
> >> I just added it since similar questions were asked recently.
> >>
> >> alex
> >>
> >>
> >> On 8/30/07, Greg Bluntzer <gb...@gmail.com> wrote:
> >> >
> >> >
> >> > Thanks for your help now it deploys. But now i have a different
> issue.
> >> I
> >> > changed rpc to document as you suggested.
> >> > Now im getting a new error when i access the webservice. Im using
> >> SoapUI
> >> > to
> >> > create my SOAP Test
> >> >
> >> > Again Thanks for any help
> >> >
> >> > #####ERROR######
> >> > ERROR - GeronimoLog.error(108) | Error processing response for MEX
> >> > {MyRoleMex#hqejbhcnphr2jrxh4xvf4x
> >> > [Client hqejbhcnphr2jrxh4xvf4w] calling
> >> > {Test4}Test4Service.process(...)}
> >> > org.apache.axis2.AxisFault:
> >> >
> >> {
> http://docs.oasis-open.org/wsbpel/2.0/process/executable}selectionFailu<
> http://docs.oasis-open.org/wsbpel/2.0/process/executable%7DselectionFailu>
> >> > re No results for expression: {OXPath10Expression /tns:result}
> >>
> >>
> >>
> >
> >
>
> --
> View this message in context:
> http://www.nabble.com/Problems-with-ODE-1.1-Release-tf4355659.html#a12427799
> Sent from the Apache Ode User mailing list archive at Nabble.com.
>
>
Re: Problems with ODE 1.1 Release
Posted by Greg Bluntzer <gb...@gmail.com>.
Alex thanks for your help but im still stuck.
Can anyone point me to a good example of initializing variables or tell me
what to do. I looked through the other post and being new, don't really
understand Alex's answer. Im using document style binding and am just
trying to copy the input variable to the output variable.
Eclipse BPEL has the following choices on Initializing Variables
Variable
Expression
Fixed Value
Property of Variable
Partner Link Reference
End Point Reference
Opaque
or am i supposed to use another assign?
My WSDL, BPEL, DEPLOY, SOAP call are on previous post
Thanks, Greg
Alex Boisvert wrote:
>
> In your case, the "output" variable (payload part) needs to be initialized
> with a literal element <tns:result> to satisfy the <to> expression.
>
> alex
>
>
> On 8/30/07, Alex Boisvert <bo...@intalio.com> wrote:
>>
>> Hi Greg,
>>
>> See the (new) FAQ: *My process fails with a selectionFailure; What can I
>> do?*<http://cwiki.apache.org/confluence/display/ODExSITE/Frequently+Asked+Questions>
>>
>> I just added it since similar questions were asked recently.
>>
>> alex
>>
>>
>> On 8/30/07, Greg Bluntzer <gb...@gmail.com> wrote:
>> >
>> >
>> > Thanks for your help now it deploys. But now i have a different issue.
>> I
>> > changed rpc to document as you suggested.
>> > Now im getting a new error when i access the webservice. Im using
>> SoapUI
>> > to
>> > create my SOAP Test
>> >
>> > Again Thanks for any help
>> >
>> > #####ERROR######
>> > ERROR - GeronimoLog.error(108) | Error processing response for MEX
>> > {MyRoleMex#hqejbhcnphr2jrxh4xvf4x
>> > [Client hqejbhcnphr2jrxh4xvf4w] calling
>> > {Test4}Test4Service.process(...)}
>> > org.apache.axis2.AxisFault:
>> >
>> {http://docs.oasis-open.org/wsbpel/2.0/process/executable}selectionFailu<http://docs.oasis-open.org/wsbpel/2.0/process/executable%7DselectionFailu>
>> > re No results for expression: {OXPath10Expression /tns:result}
>>
>>
>>
>
>
--
View this message in context: http://www.nabble.com/Problems-with-ODE-1.1-Release-tf4355659.html#a12427799
Sent from the Apache Ode User mailing list archive at Nabble.com.
Re: Problems with ODE 1.1 Release
Posted by Alex Boisvert <bo...@intalio.com>.
In your case, the "output" variable (payload part) needs to be initialized
with a literal element <tns:result> to satisfy the <to> expression.
alex
On 8/30/07, Alex Boisvert <bo...@intalio.com> wrote:
>
> Hi Greg,
>
> See the (new) FAQ: *My process fails with a selectionFailure; What can I
> do?*<http://cwiki.apache.org/confluence/display/ODExSITE/Frequently+Asked+Questions>
>
> I just added it since similar questions were asked recently.
>
> alex
>
>
> On 8/30/07, Greg Bluntzer <gb...@gmail.com> wrote:
> >
> >
> > Thanks for your help now it deploys. But now i have a different issue. I
> > changed rpc to document as you suggested.
> > Now im getting a new error when i access the webservice. Im using SoapUI
> > to
> > create my SOAP Test
> >
> > Again Thanks for any help
> >
> > #####ERROR######
> > ERROR - GeronimoLog.error(108) | Error processing response for MEX
> > {MyRoleMex#hqejbhcnphr2jrxh4xvf4x
> > [Client hqejbhcnphr2jrxh4xvf4w] calling
> > {Test4}Test4Service.process(...)}
> > org.apache.axis2.AxisFault:
> > {http://docs.oasis-open.org/wsbpel/2.0/process/executable}selectionFailu<http://docs.oasis-open.org/wsbpel/2.0/process/executable%7DselectionFailu>
> > re No results for expression: {OXPath10Expression /tns:result}
>
>
>
Re: Problems with ODE 1.1 Release
Posted by Alex Boisvert <bo...@intalio.com>.
Hi Greg,
See the (new) FAQ: *My process fails with a selectionFailure; What can I
do?*<http://cwiki.apache.org/confluence/display/ODExSITE/Frequently+Asked+Questions>
I just added it since similar questions were asked recently.
alex
On 8/30/07, Greg Bluntzer <gb...@gmail.com> wrote:
>
>
> Thanks for your help now it deploys. But now i have a different issue. I
> changed rpc to document as you suggested.
> Now im getting a new error when i access the webservice. Im using SoapUI
> to
> create my SOAP Test
>
> Again Thanks for any help
>
> #####ERROR######
> ERROR - GeronimoLog.error(108) | Error processing response for MEX
> {MyRoleMex#hqejbhcnphr2jrxh4xvf4x
> [Client hqejbhcnphr2jrxh4xvf4w] calling {Test4}Test4Service.process(...)}
> org.apache.axis2.AxisFault:
> {http://docs.oasis-open.org/wsbpel/2.0/process/executable}selectionFailu
> re No results for expression: {OXPath10Expression /tns:result}
Re: Problems with ODE 1.1 Release
Posted by Greg Bluntzer <gb...@gmail.com>.
Thanks for your help now it deploys. But now i have a different issue. I
changed rpc to document as you suggested.
Now im getting a new error when i access the webservice. Im using SoapUI to
create my SOAP Test
Again Thanks for any help
#####ERROR######
ERROR - GeronimoLog.error(108) | Error processing response for MEX
{MyRoleMex#hqejbhcnphr2jrxh4xvf4x
[Client hqejbhcnphr2jrxh4xvf4w] calling {Test4}Test4Service.process(...)}
org.apache.axis2.AxisFault:
{http://docs.oasis-open.org/wsbpel/2.0/process/executable}selectionFailu
re No results for expression: {OXPath10Expression /tns:result}
at org.apache.ode.axis2.ODEService.onResponse(ODEService.java:221)
at
org.apache.ode.axis2.ODEService.onAxisMessageExchange(ODEService.java:173)
at
org.apache.ode.axis2.hooks.ODEMessageReceiver.invokeBusinessLogic(ODEMessageReceiver.java
:69)
at
org.apache.ode.axis2.hooks.ODEMessageReceiver.invokeBusinessLogic(ODEMessageReceiver.java
:50)
at
org.apache.axis2.receivers.AbstractMessageReceiver.receive(AbstractMessageReceiver.java:9
6)
at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:145)
at
org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUt
ils.java:275)
at
org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:120)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.j
ava:252)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
#### BPEL #####
<?xml version="1.0" encoding="UTF-8"?>
<bpws:process exitOnStandardFault="yes" name="Test4"
suppressJoinFailure="yes" targetNamespace="Test4"
xmlns:bpws="http://docs.oasis-open.org/wsbpel/2.0/process/executable"
xmlns:tns="Test4">
<bpws:import importType="http://schemas.xmlsoap.org/wsdl/"
location="Test4.wsdl" namespace="Test4"/>
<bpws:partnerLinks>
<bpws:partnerLink myRole="Test4Provider" name="client"
partnerLinkType="tns:Test4"/>
</bpws:partnerLinks>
<bpws:variables>
<bpws:variable messageType="tns:Test4RequestMessage" name="input"/>
<bpws:variable messageType="tns:Test4ResponseMessage"
name="output"/>
</bpws:variables>
<bpws:sequence name="main">
<bpws:receive createInstance="yes" name="receiveInput"
operation="process" partnerLink="client"
portType="tns:Test4" variable="input"/>
<bpws:assign name="Assign" validate="no">
<bpws:copy>
<bpws:from part="payload" variable="input">
<bpws:query
queryLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0"><![CDATA[/tns:input]]></bpws:query>
</bpws:from>
<bpws:to part="payload" variable="output">
<bpws:query
queryLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0"><![CDATA[/tns:result]]></bpws:query>
</bpws:to>
</bpws:copy>
</bpws:assign>
<bpws:reply name="replyOutput" operation="process"
partnerLink="client" portType="tns:Test4" variable="output"/>
</bpws:sequence>
</bpws:process>
#### WSDL #####
<?xml version="1.0"?>
<definitions name="Test4"
targetNamespace="Test4"
xmlns:tns="Test4"
xmlns:plnk="http://docs.oasis-open.org/wsbpel/2.0/plnktype"
xmlns="http://schemas.xmlsoap.org/wsdl/"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/">
<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
TYPE DEFINITION - List of types participating in this BPEL process
The BPEL Designer will generate default request and response types
but you can define or import any XML Schema type and use them as part
of the message types.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-->
<types>
<schema attributeFormDefault="unqualified"
elementFormDefault="qualified"
targetNamespace="Test4"
xmlns="http://www.w3.org/2001/XMLSchema">
<element name="Test4Request">
<complexType>
<sequence>
<element name="input" type="string"/>
</sequence>
</complexType>
</element>
<element name="Test4Response">
<complexType>
<sequence>
<element name="result" type="string"/>
</sequence>
</complexType>
</element>
</schema>
</types>
<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
MESSAGE TYPE DEFINITION - Definition of the message types used as
part of the port type defintions
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-->
<message name="Test4RequestMessage">
<part name="payload" element="tns:Test4Request"/>
</message>
<message name="Test4ResponseMessage">
<part name="payload" element="tns:Test4Response"/>
</message>
<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
PORT TYPE DEFINITION - A port type groups a set of operations into
a logical service unit.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-->
<!-- portType implemented by the Test4 BPEL process -->
<portType name="Test4">
<operation name="process">
<input message="tns:Test4RequestMessage" />
<output message="tns:Test4ResponseMessage"/>
</operation>
</portType>
<binding name="Test4SOAPBinding" type="tns:Test4">
<soap:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http" />
<operation name="process">
<soap:operation soapAction="Test4/process" />
<input>
<soap:body use="literal" />
</input>
<output>
<soap:body use="literal" />
</output>
</operation>
</binding>
<service name="Test4Service">
<port name="Test4Port" binding="tns:Test4SOAPBinding">
<soap:address
location="http://localhost:8080/ode/processes/Test4"/>
</port>
</service>
<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
PARTNER LINK TYPE DEFINITION
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-->
<plnk:partnerLinkType name="Test4">
<plnk:role name="Test4Provider" portType="tns:Test4"/>
</plnk:partnerLinkType>
</definitions>
#### DEPLOY ####
<deploy xmlns="http://www.apache.org/ode/schemas/dd/2007/03"
xmlns:pns="Test4"
xmlns:wns="Test4">
<process name="pns:Test4">
<active>true</active>
<provide partnerLink="client">
<service name="wns:Test4Service" port="Test4Port"/>
</provide>
</process>
</deploy>
### SOAP TEST####
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope"
xmlns:tes="Test4">
<soap:Header/>
<soap:Body>
<tes:Test4Request>
<tes:input>Input Message</tes:input>
</tes:Test4Request>
</soap:Body>
</soap:Envelope>
###SOAP OUT####
<soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope">
<soapenv:Body>
<soapenv:Fault
xmlns:soapenv="http://docs.oasis-open.org/wsbpel/2.0/process/executable">
<soapenv:Code
xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope">
<soapenv:Value>soapenv:selectionFailure</soapenv:Value>
</soapenv:Code>
<soapenv:Reason
xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope">
<soapenv:Text
xml:lang="en-US">{http://docs.oasis-open.org/wsbpel/2.0/process/executable}selectionFailure
No results for expression: {OXPath10Expression /tns:result}</soapenv:Text>
</soapenv:Reason>
<soapenv:Detail
xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope"/>
</soapenv:Fault>
</soapenv:Body>
</soapenv:Envelope>
--
View this message in context: http://www.nabble.com/Problems-with-ODE-1.1-Release-tf4355659.html#a12415716
Sent from the Apache Ode User mailing list archive at Nabble.com.
Re: Problems with ODE 1.1 Release
Posted by Alex Boisvert <bo...@intalio.com>.
The WSDL does not conform to WS-I BasicProfile 1.x because the SOAP bindings
use RPC/Literal style on message having "element" parts instead of xml
"type" parts.
To resolve this, you should either:
1) Use XML types instead of elements in the message definitions:
e.g. change,
<message name="Test4RequestMessage">
<part name="payload" element="tns:Test4Request"/>
</message>
to
<message name="Test4RequestMessage">
<part name="payload" type="tns:Test4RequestType"/>
</message>
(and convert your elements to types in the schema)
or 2) Use Document/Literal binding by changing,
<binding name="Test4SOAPBinding" type="tns:Test4">
<soap:binding style="rpc"
transport="http://schemas.xmlsoap.org/soap/http" />
....
</binding>
to
<binding name="Test4SOAPBinding" type="tns:Test4">
<soap:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http" />
....
</binding>
(This second option only works if your message only have a single part)
I don't know if it's an inherent problem of the BPEL Designer or if somehow
you went through the wrong path for the WSDL generation. In any case, it's
likely this WSDL would not work with the vast majority of tools out there.
cheers,
alex