I'm trying to produce a demo using the bpe service engine and I'm
encuntering a lot problems due mainly to my ignorance about BPEL and
lack of documentation of the ode project (at least on apache I didn'
find anything it seems that even the code is not online yet) and the bpe
binding component.
Do you think that the bpe service engine in mature enough to produce a
demo since it has recently sustituted the pxe engine?
I've understood that I need a .bpel that represents the process file and
a .wsdl with the same name that represents the process external
interface. I attach them both.
When I deploy the su I get the following error
<----------- error ----------------->
Retrieving document at 'doubleecho'.
Mar 28, 2006 5:50:06 PM org.apache.ode.bpe.util.BPException log
SEVERE: [DoubleEchoProcess] message type im:EchoResponse not found. Make
sure the WSDL has been imported and namespaces have been set up
consistently.
org.apache.ode.bpe.deployment.bpel.DeploymentException:
[DoubleEchoProcess] message type im:EchoResponse not found. Make sure
the WSDL has been imported and namespaces have been set up consistently.
at
org.apache.ode.bpe.deployment.bpel.BPELUtil.throwNewException(BPELUtil.java:45)
at
org.apache.ode.bpe.deployment.bpel.BPELWSDLVariable.<init>(BPELWSDLVariable.java:65)
at
org.apache.ode.bpe.deployment.bpel.BPELRepositoryHandler.buildVariable(BPELRepositoryHandler.java:302)
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.ode.bpe.deployment.bpel.BPELSAXHandler.startElement(BPELSAXHandler.java:105)
at
org.apache.xerces.parsers.AbstractSAXParser.startElement(Unknown Source)
at
org.apache.xerces.parsers.AbstractXMLDocumentParser.emptyElement(Unknown
Source)
at
org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanStartElement(Unknown
Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl
$FragmentContentDispatcher.dispatch(Unknown Source)
at
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown
Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown
Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown
Source)
at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown
Source)
at org.apache.xerces.jaxp.SAXParserImpl
$JAXPSAXParser.parse(Unknown Source)
at javax.xml.parsers.SAXParser.parse(SAXParser.java:375)
at
org.apache.ode.bpe.deployment.bpel.BPELParser.parseBPEL(BPELParser.java:95)
at
org.apache.ode.bpe.deployment.bpel.BPELDeploy.deployJar(BPELDeploy.java:177)
at
org.apache.ode.bpe.bped.unmanaged.BPELDeployerSLImpl.loadDefinition(BPELDeployerSLImpl.java:78)
at
org.apache.servicemix.bpe.BPEDeployer.deploy(BPEDeployer.java:84)
at
org.apache.servicemix.common.BaseServiceUnitManager.doDeploy(BaseServiceUnitManager.java:87)
at
org.apache.servicemix.common.BaseServiceUnitManager.deploy(BaseServiceUnitManager.java:68)
at
org.apache.servicemix.jbi.framework.DeploymentService.deployServiceAssembly(DeploymentService.java:526)
at
org.apache.servicemix.jbi.framework.AutoDeploymentService.updateArchive(AutoDeploymentService.java:257)
at org.apache.servicemix.jbi.framework.AutoDeploymentService
$2.run(AutoDeploymentService.java:507)
at
org.apache.geronimo.connector.work.WorkerContext.run(WorkerContext.java:291)
at EDU.oswego.cs.dl.util.concurrent.PooledExecutor
$Worker.run(Unknown Source)
at java.lang.Thread.run(Thread.java:595)
[Fatal Error] :1:1: Content is not allowed in prolog.
<---------- error end ----------------->
notice that the bpe component seem not to use commons logging. Anyway I
understand that it does not find im:EchoResponse, which should be
visible if the .wsdl had been loaded correctly. If I delete the variable
statement the su get deployed and it exposes the wsdl correctly. So I
guess that the bpe engine doesn't see the .wsdl while the binding
component does. Perhaps the log: Retrieving document at 'doubleecho'.
means that the bpe engine is trying to load doubleecho from .? relative
to what? and how did it decided to look for doubleecho?
In synthesys:
1. how can I get more log from bpe?
2. how does bpe look for the correspondig wsdl given a .bpel?
thanks
Raffaele
<?xml version="1.0" encoding="UTF-8"?>
<bpel:process name="DoubleEchoProcess" suppressJoinFailure="yes"
targetNamespace="http://it.imolinfo.demo.process"
xmlns:tns="http://it.imolinfo.demo.process"
xmlns:bpel="http://schemas.xmlsoap.org/ws/2003/03/business-process/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:im="http:/it.imolinfo.demo"
xmlns:typens="http:/it.imolinfo.demo.types"
xmlns:corba="http://it.imolinfo.Jbi4Corba.test.webservice.generator"
xmlns:jsr181="urn:jsr181"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://schemas.xmlsoap.org/ws/2003/03/business-process/ http://schemas.xmlsoap.org/ws/2003/03/business-process/">
<!--<bpel:partnerLinks>
<bpel:partnerLink name="doubleEchoing"
partnerLinkType="im:DoubleEchoingLT" myRole="DoubleEchoService" />
</bpel:partnerLinks>-->
<!--<partnerLink name="invoicing" partnerLinkType="lns:invoicingLT"
myRole="invoiceRequester" partnerRole="invoiceService" />
<partnerLink name="shipping" partnerLinkType="lns:shippingLT"
myRole="shippingRequester" partnerRole="shippingService" />
<partnerLink name="scheduling" partnerLinkType="lns:schedulingLT"
partnerRole="schedulingService" />-->
<bpel:variables>
<bpel:variable name="response" messageType="im:EchoResponse" />
<bpel:variable name="request" messageType="im:EchoRequest" />
</bpel:variables>
<bpel:sequence>
<!-- <bpel:receive name="request" partnerLink="DouleEchoRequest"
portType="im:DoubleEcho" operation="EchoOperation" variable="request"
createInstance="yes">
</bpel:receive>-->
</bpel:sequence>
</bpel:process>
<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:tns="http://it.imolinfo.demo"
xmlns:typens="http://it.imolinfo.demo.types"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="DoubleEcho"
targetNamespace="http://it.imolinfo.demo">
<wsdl:types>
<xsd:schema targetNamespace="http://it.imolinfo.demo.types">
<xsd:element name="EchoResponse" type="xsd:string" />
<xsd:complexType name="EchoRequest">
<xsd:attribute name="msg1" type="xsd:string" />
<xsd:attribute name="msg2" type="xsd:string" />
</xsd:complexType>
</xsd:schema>
</wsdl:types>
<wsdl:message name="EchoResponse">
<wsdl:part type="typens:EchoResponse" name="payload" />
</wsdl:message>
<wsdl:message name="EchoRequest">
<wsdl:part type="typens:EchoRequest" name="payload" />
</wsdl:message>
<wsdl:portType name="DoubleEcho">
<wsdl:operation name="EchoOperation">
<wsdl:input message="tns:EchoRequest" />
<wsdl:output message="tns:EchoResponse" />
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="DoubleEchoBinding" type="tns:DoubleEcho">
<wsdl:operation name="EchoOperation"></wsdl:operation>
</wsdl:binding>
<wsdl:service name="DoubleEcho">
<wsdl:port binding="tns:DoubleEchoBinding" name="DoubleEchoPort">
</wsdl:port>
</wsdl:service>
</wsdl:definitions>