Hi Vishal,

Your reply should have the same partnerLink and portType as your receive
(AirAvail instead of CreditAgency). The root of the problem is that ODE
expects a partnerLink with a myRole in a reply, which isn't the case here
because of the confusion. So just change the partnerLink and portType in
your reply and that should work.

I've added a specific error message for that situation so that others don't
run into the same problem.

Cheers,
Matthieu

On 6/16/07, Vishal Bhasin <[EMAIL PROTECTED]> wrote:

Hello All,

I'm at lost here and would appreciate any ideas, I'm getting following
exception while deploying the orchestrated service I'm working on:

>>
INFO  - ProcessStoreImpl               - Starting deployment of processes
from directory "C:\technical\servicemix\r
untime\apache-
servicemix-3.2-incubating-SNAPSHOT\data\smx\service-assemblies\loan-broker-sa\version_1\sus\OdeBpelEn
gine\loan-broker-ode-su".
INFO  - BpelC                          - info: [CompilingProcess]
Compiling BPEL process.
ERROR - OdeServiceUnit                 - Error deploying process described
by deployment descriptor "C:\technical\s
ervicemix\runtime\apache-
servicemix-3.2-incubating-SNAPSHOT\data\smx\service-assemblies\loan-broker-sa\version_1\su
s\OdeBpelEngine\loan-broker-ode-su" for service unit "loan-broker-ode-su".
java.lang.NullPointerException
        at org.apache.ode.bpel.compiler.ReplyGenerator.compile(
ReplyGenerator.java:61)
        at org.apache.ode.bpel.compiler.BpelCompiler$7.run(
BpelCompiler.java:850)
        at org.apache.ode.bpel.compiler.BpelCompiler.compile(
BpelCompiler.java:1009)
        at org.apache.ode.bpel.compiler.BpelCompiler.compileActivity(
BpelCompiler.java:846)
        at org.apache.ode.bpel.compiler.BpelCompiler.compile(
BpelCompiler.java:799)
        at org.apache.ode.bpel.compiler.SequenceGenerator.compileChildren(
SequenceGenerator.java:47)
        at org.apache.ode.bpel.compiler.SequenceGenerator.compile(
SequenceGenerator.java:41)
        at org.apache.ode.bpel.compiler.BpelCompiler$7.run(
BpelCompiler.java:850)
        at org.apache.ode.bpel.compiler.BpelCompiler.compile(
BpelCompiler.java:1009)
        at org.apache.ode.bpel.compiler.BpelCompiler.compileActivity(
BpelCompiler.java:846)
        at org.apache.ode.bpel.compiler.BpelCompiler.compile(
BpelCompiler.java:799)
        at org.apache.ode.bpel.compiler.BpelCompiler$5.run(
BpelCompiler.java:681)
        at org.apache.ode.bpel.compiler.BpelCompiler$8.run(
BpelCompiler.java:1103)
        at org.apache.ode.bpel.compiler.BpelCompiler.compile(
BpelCompiler.java:1009)
        at org.apache.ode.bpel.compiler.BpelCompiler.compileScope(
BpelCompiler.java:1053)
        at org.apache.ode.bpel.compiler.BpelCompiler.compile(
BpelCompiler.java:661)
        at org.apache.ode.bpel.compiler.BpelC.compile(BpelC.java:252)
        at org.apache.ode.bpel.compiler.BpelC.compile(BpelC.java:322)
        at org.apache.ode.store.DeploymentUnitDir.compile(
DeploymentUnitDir.java:152)
        at org.apache.ode.store.DeploymentUnitDir.compile(
DeploymentUnitDir.java:123)
        at org.apache.ode.store.ProcessStoreImpl.deploy(
ProcessStoreImpl.java:165)
        at org.apache.ode.jbi.OdeServiceUnit.deploy(OdeServiceUnit.java
:62)
        at org.apache.ode.jbi.OdeSUManager.deploy(OdeSUManager.java:60)
        at
org.apache.servicemix.jbi.framework.DeploymentService.deployServiceAssembly
(DeploymentService.java:527)
        at
org.apache.servicemix.jbi.framework.AutoDeploymentService.updateArchive(
AutoDeploymentService.java:332)
        at
org.apache.servicemix.jbi.framework.AutoDeploymentService.updateExternalArchive
(AutoDeploymentService.ja
va:200)
        at
org.apache.servicemix.jbi.container.JBIContainer.updateExternalArchive(
JBIContainer.java:473)
        at
org.apache.servicemix.jbi.container.JBIContainer.updateExternalArchive(
JBIContainer.java:483)
        at
org.apache.servicemix.jbi.framework.AdminCommandsService.deployServiceAssembly
(AdminCommandsService.java
:229)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(
NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(
DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at org.apache.commons.beanutils.MethodUtils.invokeMethod(
MethodUtils.java:216)
        at org.apache.servicemix.jbi.management.BaseStandardMBean.invoke(
BaseStandardMBean.java:317)
        at com.sun.jmx.mbeanserver.DynamicMetaDataImpl.invoke(
DynamicMetaDataImpl.java:213)
        at com.sun.jmx.mbeanserver.MetaDataImpl.invoke(MetaDataImpl.java
:220)
        at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(
DefaultMBeanServerInterceptor.java:815)
        at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(
JmxMBeanServer.java:784)
        at javax.management.remote.rmi.RMIConnectionImpl.doOperation(
RMIConnectionImpl.java:1408)
        at javax.management.remote.rmi.RMIConnectionImpl.access$100(
RMIConnectionImpl.java:81)
        at
javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(
RMIConnectionImpl.java:1245)
        at java.security.AccessController.doPrivileged(Native Method)
        at
javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(
RMIConnectionImpl.java:1348)
        at javax.management.remote.rmi.RMIConnectionImpl.invoke(
RMIConnectionImpl.java:782)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(
NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(
DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java
:294)
        at sun.rmi.transport.Transport$1.run(Transport.java:153)
        at java.security.AccessController.doPrivileged(Native Method)
        at sun.rmi.transport.Transport.serviceCall(Transport.java:149)
        at sun.rmi.transport.tcp.TCPTransport.handleMessages(
TCPTransport.java:466)
        at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(
TCPTransport.java:707)
        at java.lang.Thread.run(Thread.java:595)
ERROR - OdeSUManager                   - Error deploying service unit
"loan-broker-ode-su".
INFO  - XBeanXmlBeanDefinitionReader   - Loading XML bean definitions from
file [C:\technical\servicemix\runtime\ap

ache-servicemix-3.2-incubating-SNAPSHOT\data\smx\service-assemblies\loan-broker-sa\version_1\sus\servicemix-http\lo
an-broker-http-su\xbean.xml]
INFO  - FileSystemXmlApplicationContext - Bean factory for application
context [xbean]: org.springframework.beans.f
actory.support.DefaultListableBeanFactory defining beans [
org.apache.servicemix.http.HttpEndpoint]; root of BeanFac
tory hierarchy
INFO  - FileSystemXmlApplicationContext - 1 beans defined in application
context [xbean]
INFO  - FileSystemXmlApplicationContext - Unable to locate MessageSource
with name 'messageSource': using default [
[EMAIL PROTECTED]
INFO  - FileSystemXmlApplicationContext - Unable to locate
ApplicationEventMulticaster with name 'applicationEventM
ulticaster': using default [
[EMAIL PROTECTED]
]
INFO  - DefaultListableBeanFactory     - Pre-instantiating singletons in
factory [org.springframework.beans.factory
.support.DefaultListableBeanFactory defining beans [
org.apache.servicemix.http.HttpEndpoint]; root of BeanFactory h
ierarchy]
INFO  - DescriptorFactory              - Validation error on
file:/C:/technical/servicemix/runtime/apache-servicemi
x-3.2-incubating-SNAPSHOT
/data/smx/service-assemblies/loan-broker-sa/version_1/sus/servicemix-http/loan-broker-http
-su/META-INF/jbi.xml: org.xml.sax.SAXParseException: cvc-complex-type.4:
Attribute 'interface-name' must appear on
element 'provides'.
INFO  - XBeanXmlBeanDefinitionReader   - Loading XML bean definitions from
file [C:\technical\servicemix\runtime\ap

ache-servicemix-3.2-incubating-SNAPSHOT\data\smx\service-assemblies\loan-broker-sa\version_1\sus\servicemix-jms\loa
n-broker-jms-su\xbean.xml]
INFO  - FileSystemXmlApplicationContext - Bean factory for application
context [xbean]: org.springframework.beans.f
actory.support.DefaultListableBeanFactory defining beans [
org.apache.servicemix.jms.JmsEndpoint,jmsFactory]; root o
f BeanFactory hierarchy
INFO  - FileSystemXmlApplicationContext - 2 beans defined in application
context [xbean]
INFO  - FileSystemXmlApplicationContext - Unable to locate MessageSource
with name 'messageSource': using default [
[EMAIL PROTECTED]
INFO  - FileSystemXmlApplicationContext - Unable to locate
ApplicationEventMulticaster with name 'applicationEventM
ulticaster': using default [
[EMAIL PROTECTED]
]
INFO  - DefaultListableBeanFactory     - Pre-instantiating singletons in
factory [org.springframework.beans.factory
.support.DefaultListableBeanFactory defining beans [
org.apache.servicemix.jms.JmsEndpoint,jmsFactory]; root of Bean
Factory hierarchy]
INFO  - DescriptorFactory              - Validation error on
file:/C:/technical/servicemix/runtime/apache-servicemi
x-3.2-incubating-SNAPSHOT
/data/smx/service-assemblies/loan-broker-sa/version_1/sus/servicemix-jms/loan-broker-jms-s
u/META-INF/jbi.xml: org.xml.sax.SAXParseException: cvc-complex-type.4:
<<

Here's the BPEL:

>>
<?xml version="1.0" encoding="UTF-8"?>
<bpel:process name="OrchAirAvailService"
    targetNamespace="urn:sabre:soa:airavail"
    expressionLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath2.0"
    xmlns:tns="urn:sabre:soa:airavail"
    xmlns:ca="urn:logicblaze:soa:creditagency"
    xmlns:bk="urn:logicblaze:soa:bank"
    xmlns:svc="urn:logicblaze:soa:service"
    xmlns:bpel="http://docs.oasis-open.org/wsbpel/2.0/process/executable";>

    <bpel:import importType="http://schemas.xmlsoap.org/wsdl/"; location="
loanbroker.wsdl" namespace="urn:sabre:soa:airavail"/>

    <bpel:partnerLinks>
        <bpel:partnerLink myRole="OrchAirAvailService" name="AirAvail"
partnerLinkType="tns:AirAvailPL"/>
        <bpel:partnerLink partnerRole="CreditAgencyService"
name="CreditAgency" partnerLinkType="ca:CreditAgencyPL"/>
    </bpel:partnerLinks>
    <bpel:variables>
        <bpel:variable name="request"
messageType="tns:Orch_AirAvailInput"/>
        <bpel:variable name="ca-request"
messageType="ca:OTA_AirAvailInput"/>
        <bpel:variable name="response"
messageType="tns:Orch_AirAvailOutput"/>
        <!--bpel:variable name="ca-sessioncreate-request"
messageType="ca:SessionCreateRQ"/-->
        <bpel:variable name="ca-response1"
messageType="ca:OTA_AirAvailOutput"/>
    </bpel:variables>
    <bpel:sequence>
        <bpel:receive name="request" partnerLink="AirAvail"
portType="tns:AirAvail" operation="OTA_AirAvailRQ" variable="request"
createInstance="yes">
        </bpel:receive>
        <bpel:flow>
            <bpel:sequence>
                <!--bpel:assign>
                    <bpel:copy>
                        <bpel:from>$request.payload</bpel:from>
                        <bpel:to>$ca-request.payload</bpel:to>
                    </bpel:copy>
                </bpel:assign-->
                <bpel:invoke name="service" partnerLink="CreditAgency"
portType="ca:CreditAgency" operation="OTA_AirAvailRQ"
inputVariable="ca-request" outputVariable="ca-response1"/>
                <!--bpel:invoke name="service" partnerLink="CreditAgency"
portType="ca:CreditAgency" operation="SessionCreateRQ"
inputVariable="ca-sessioncreate-request"
outputVariable="ca-score-response2"/-->
            </bpel:sequence>
        </bpel:flow>
        <bpel:assign>
            <bpel:copy>
                   <bpel:from>$ca-response1.payload</bpel:from>
                   <bpel:to>$response.payload</bpel:to>
            </bpel:copy>
        </bpel:assign>
        <bpel:reply name="response" partnerLink="CreditAgency"
portType="tns:CreditAgency" operation="OTA_AirAvailRQ"
variable="ca-response1"/>
    </bpel:sequence>
</bpel:process>
<<

..and..here's the WSDL

>>
<?xml version="1.0" encoding="UTF-8"?>
<definitions xmlns:tns="urn:sabre:soa:airavail" xmlns="
http://schemas.xmlsoap.org/wsdl/"; xmlns:plnk="
http://docs.oasis-open.org/wsbpel/2.0/plnktype"; xmlns:xsd="
http://www.w3.org/2001/XMLSchema"; xmlns:bpws="
http://schemas.xmlsoap.org/ws/2003/03/business-process/";
targetNamespace="urn:sabre:soa:airavail">
    <import namespace="urn:logicblaze:soa:creditagency"
location="OTA_AirAvailLLS1.4.1RQ.wsdl"/>
    <import namespace="urn:logicblaze:soa:bank" location="bank.wsdl"/>
    <types>
        <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema";>
            <xsd:import namespace="urn:sabre:soa:airavail"
schemaLocation="Orch_AirAvailRQRS.xsd"/>
        </xsd:schema>
    </types>
    <message name="Orch_AirAvailInput">
        <part name="payload" element="tns:OTA_AirAvailRQ"/>
    </message>
    <message name="Orch_AirAvailOutput">
        <part name="payload" element="tns:OTA_AirAvailRS"/>
    </message>
    <portType name="AirAvail">
        <operation name="OTA_AirAvailRQ">
            <input message="tns:Orch_AirAvailInput"/>
            <output message="tns:Orch_AirAvailOutput"/>
        </operation>
    </portType>
    <plnk:partnerLinkType name="AirAvailPL">
        <plnk:role name="OrchAirAvailService" portType="tns:AirAvail"/>
    </plnk:partnerLinkType>
</definitions>

<<

Thanks,

Vishal Bhasin


---------------------------------
Building a website is a piece of cake.
Yahoo! Small Business gives you all the tools to get online.

Reply via email to