You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@ode.apache.org by Anup Chandran <an...@3ds.com> on 2007/07/30 16:21:25 UTC

Deploying processes to Apache Ode

I was trying to invoke the process that i successfully deployed on ODE.

The WSDL definition is :

<?xml version="1.0"?>
<definitions name="HelloWorld"
        targetNamespace="http://sample.bpel.org/bpel/sample"
        xmlns:tns="http://sample.bpel.org/bpel/sample"
        xmlns:plnk="http://schemas.xmlsoap.org/ws/2004/03/partner-link/"
        xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
        xmlns="http://schemas.xmlsoap.org/wsdl/"
        >

<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     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://sample.bpel.org/bpel/sample" 
                xmlns="http://www.w3.org/2001/XMLSchema"
                >
                
            <element name="HelloWorldRequest">
                <complexType>
                    <sequence>
                        <element name="input" type="string" />
                    </sequence>
                </complexType>
            </element>
                  
            <element name="HelloWorldResponse">
                <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="HelloWorldRequestMessage">
        <part name="payload" element="tns:HelloWorldRequest"/>
    </message>
    
    <message name="HelloWorldResponseMessage">
        <part name="payload" element="tns:HelloWorldResponse"/>
    </message>


<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     PORT TYPE DEFINITION - A port type groups a set of operations into
     a logical service unit.
     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-->
    <!-- portType implemented by the HelloWorld BPEL process -->
    <portType name="MyHelloWorld">
        <operation name="initiate">
            <input message="tns:HelloWorldRequestMessage"/>
        </operation>
    </portType>

    <!-- portType implemented by the requester of HelloWorld BPEL process 
         for asynchronous callback purposes
         -->
    <portType name="HelloWorldCallback">
        <operation name="onResult">
            <input message="tns:HelloWorldResponseMessage"/>
        </operation>
    </portType>


<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     PARTNER LINK TYPE DEFINITION
         the HelloWorld partnerLinkType binds the provider and
         requester portType into an asynchronous conversation.
     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-->    
    <plnk:partnerLinkType name="MyHelloWorld">
        <plnk:role name="HelloWorldProvider" portType="tns:MyHelloWorld"/>
        <plnk:role name="HelloWorldRequester"
portType="tns:HelloWorldCallback"/>
    </plnk:partnerLinkType> 
    

<binding name="HelloWorldSoapBinding" type="tns:MyHelloWorld">
        <soap:binding style="rpc"
transport="http://schemas.xmlsoap.org/soap/http"/>
        <operation name="initiate">
           <soap:operation soapAction="http://sample.bpel.org/bpel/sample"/>
           <input>
               <soap:body use="literal"/>
           </input>
        </operation>
    </binding>

<binding name="HelloWorldResponseSoapBinding" type="tns:HelloWorldCallback">
        <soap:binding style="rpc"
transport="http://schemas.xmlsoap.org/soap/http"/>
        <operation name="onResult">
           <soap:operation soapAction="http://sample.bpel.org/bpel/sample"/>
           <input>
               <soap:body use="literal"/>
           </input>
        </operation>
    </binding>


    <service name="MyHelloWorldService">
        <documentation>Test service</documentation>
        <port name="MyHelloWorld" binding="tns:HelloWorldSoapBinding">
           <soap:address
location="http://localhost:8080/ode/processes/myhelloWorld"/>
        </port>
    </service>

    <service name="MyHelloWorldResponderService">
        <documentation>Test service</documentation>
        <port name="HelloWorldCallbackPort"
binding="tns:HelloWorldResponseSoapBinding">
           <soap:address
location="http://localhost:8080/ode/processes/myhelloWorldResponse"/>
        </port>
    </service>

</definitions>


The soap message / request is :

<SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
  <!-- test soap message -->
  <SOAP-ENV:Body>
    <ns1:initiate xmlns:ns1="http://ode/bpel/unit-test.wsdl">
        <input>Hello</input>
    </ns1:initiate>
  </SOAP-ENV:Body>
</SOAP-ENV:Envelope>


This is the error :

09:58:51,129 DEBUG [ODEAxisDispatcher] Checking for Service using target
endpoin
t address : http://localhost:8080/ode/processes/helloWorld
DEBUG - GeronimoLog.debug(66) | Found service in registry from name
helloWorld:
org.apache.axis2.description.AxisService@1809bd3
09:58:51,129 DEBUG [ODEAxisDispatcher] Found service in registry from name
hello
World: org.apache.axis2.description.AxisService@1809bd3
DEBUG - GeronimoLog.debug(66) | Checking for Operation using SOAP message
body's
 first child's local name : initiate
09:58:51,129 DEBUG [ODEAxisDispatcher] Checking for Operation using SOAP
message
 body's first child's local name : initiate
WARN - GeronimoLog.warn(92) | No operation has been found!
09:58:51,129 WARN  [ODEAxisDispatcher] No operation has been found!
ERROR - GeronimoLog.error(108) | Servlet.service() for servlet AxisServlet
threw
 exception
java.lang.NullPointerException
        at
org.apache.axis2.engine.AxisEngine.extractFaultInformationFromMessage
Context(AxisEngine.java:353)
        at
org.apache.axis2.engine.AxisEngine.createFaultMessageContext(AxisEngi
ne.java:249)
        at
org.apache.axis2.transport.http.AxisServlet.handleFault(AxisServlet.j
ava:317)
        at
org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:2
77)


Any ideas what is happening? initiate is declared in the wsdl.
-- 
View this message in context: http://www.nabble.com/Deploying-processes-to-Apache-Ode-tf4170521.html#a11864601
Sent from the Apache Ode User mailing list archive at Nabble.com.