[Users] [SE-EIP] Routing based on WSDL operation not working
seb.wytt
sebastien.trivella at veoliaeau.fr
Wed Mar 16 10:59:57 CET 2011
Hi,
I'm trying to test the new "routing on WSDL operation" offered by EIP 2.5-SNAPSHOT.
But I can't success to have it working properly.
I'm exposing the following 2-operations WSDL:
Code:
<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions targetNamespace="http://myCpy.ban.com/eau/faisabilite/petals/service/FAIS005/v01" xmlns:socl="http://myCpy.ban.com/eau/SI/Technique/objet/v01" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:tns="http://myCpy.ban.com/eau/faisabilite/petals/service/FAIS005/v01" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/">
<wsdl:types>
<xsd:schema targetNamespace="http://myCpy.ban.com/eau/faisabilite/petals/service/FAIS005/v01">
<xsd:import namespace="http://myCpy.ban.com/eau/SI/Technique/objet/v01" schemaLocation="EnvMyCpy_01.xsd"/>
<xsd:import namespace="http://myCpy.ban.com/eau/SI/Technique/objet/v01" schemaLocation="ErrMyCpy_01.xsd"/>
</xsd:schema>
</wsdl:types>
<wsdl:message name="Operation-2_ResMsg">
<wsdl:part name="param" type="xsd:string">
</wsdl:part>
</wsdl:message>
<wsdl:message name="Operation-2_ReqMsg">
<wsdl:part name="envMyCpy" type="socl:EnvMyCpyType">
</wsdl:part>
<wsdl:part name="param" type="xsd:string">
</wsdl:part>
</wsdl:message>
<wsdl:message name="Operation-1_ReqMsg">
<wsdl:part name="envMyCpy" type="socl:EnvMyCpyType">
</wsdl:part>
<wsdl:part name="param" type="xsd:string">
</wsdl:part>
</wsdl:message>
<wsdl:message name="ErreurFonctionnelle">
<wsdl:part name="erreurFonctionnelle" type="socl:ErreurFonctionnelleType">
</wsdl:part>
</wsdl:message>
<wsdl:message name="ServiceIndisponible">
<wsdl:part name="serviceIndisponible" type="socl:ServiceIndisponibleType">
</wsdl:part>
</wsdl:message>
<wsdl:message name="ErreurTechnique">
<wsdl:part name="erreurTechnique" type="socl:ErreurTechniqueType">
</wsdl:part>
</wsdl:message>
<wsdl:message name="Operation-1_ResMsg">
<wsdl:part name="param" type="xsd:string">
</wsdl:part>
</wsdl:message>
<wsdl:portType name="FAIS005-RoutageOperation_Itf">
<wsdl:operation name="operation-1">
<wsdl:input message="tns:Operation-1_ReqMsg">
</wsdl:input>
<wsdl:output message="tns:Operation-1_ResMsg">
</wsdl:output>
<wsdl:fault name="erreurFonctionnelle" message="tns:ErreurFonctionnelle">
</wsdl:fault>
<wsdl:fault name="erreurTechnique" message="tns:ErreurTechnique">
</wsdl:fault>
<wsdl:fault name="serviceIndisponible" message="tns:ServiceIndisponible">
</wsdl:fault>
</wsdl:operation>
<wsdl:operation name="operation-2">
<wsdl:input message="tns:Operation-2_ReqMsg">
</wsdl:input>
<wsdl:output message="tns:Operation-2_ResMsg">
</wsdl:output>
<wsdl:fault name="erreurFonctionnelle" message="tns:ErreurFonctionnelle">
</wsdl:fault>
<wsdl:fault name="erreurTechnique" message="tns:ErreurTechnique">
</wsdl:fault>
<wsdl:fault name="serviceIndisponible" message="tns:ServiceIndisponible">
</wsdl:fault>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="FAIS005-RoutageOperation" type="tns:FAIS005-RoutageOperation_Itf">
<soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="operation-1">
<soap:operation soapAction="operation-1"/>
<wsdl:input>
<soap:body use="literal"/>
</wsdl:input>
<wsdl:output>
<soap:body use="literal"/>
</wsdl:output>
<wsdl:fault name="erreurFonctionnelle">
<soap:fault name="erreurFonctionnelle" use="literal"/>
</wsdl:fault>
<wsdl:fault name="erreurTechnique">
<soap:fault name="erreurTechnique" use="literal"/>
</wsdl:fault>
<wsdl:fault name="serviceIndisponible">
<soap:fault name="serviceIndisponible" use="literal"/>
</wsdl:fault>
</wsdl:operation>
<wsdl:operation name="operation-2">
<soap:operation soapAction="operation-2"/>
<wsdl:input>
<soap:body use="literal"/>
</wsdl:input>
<wsdl:output>
<soap:body use="literal"/>
</wsdl:output>
<wsdl:fault name="erreurFonctionnelle">
<soap:fault name="erreurFonctionnelle" use="literal"/>
</wsdl:fault>
<wsdl:fault name="erreurTechnique">
<soap:fault name="erreurTechnique" use="literal"/>
</wsdl:fault>
<wsdl:fault name="serviceIndisponible">
<soap:fault name="serviceIndisponible" use="literal"/>
</wsdl:fault>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="FAIS005-RoutageOperation_EIP">
<wsdl:port name="autogenerate" binding="tns:FAIS005-RoutageOperation">
<soap:address location="NOT_APPLICABLE"/>
</wsdl:port>
</wsdl:service>
<xsd:annotation>
<xsd:documentation>FAIS005-RoutageOperation 01.01</xsd:documentation>
</xsd:annotation>
</wsdl:definitions>
I have an EIP router pattern that should calls either XSLT-Op1 or XSLT-Op2 depending on the operation invoked. Its jbi.xml is:
Code:
<?xml version="1.0" encoding="UTF-8"?>
<jbi:jbi version="1.0"
xmlns:eip="http://petals.ow2.org/components/eip/version-2"
xmlns:generatedNs="http://myCpy.ban.com/eau/faisabilite/petals/service/FAIS005/v01"
xmlns:jbi="http://java.sun.com/xml/ns/jbi"
xmlns:petalsCDK="http://petals.ow2.org/components/extensions/version-5"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<jbi:services binding-component="false">
<jbi:provides
interface-name="generatedNs:FAIS005-RoutageOperation_Itf"
service-name="generatedNs:FAIS005-RoutageOperation_EIP"
endpoint-name="autogenerate">
<!-- CDK specific elements -->
<petalsCDK:timeout>30000</petalsCDK:timeout>
<petalsCDK:validate-wsdl>true</petalsCDK:validate-wsdl>
<petalsCDK:forward-security-subject>false</petalsCDK:forward-security-subject>
<petalsCDK:forward-message-properties>false</petalsCDK:forward-message-properties>
<petalsCDK:forward-attachments>false</petalsCDK:forward-attachments>
<petalsCDK:wsdl>FAIS005-RoutageOperation_01.wsdl</petalsCDK:wsdl>
<!-- Component specific elements -->
<eip:eip>router</eip:eip>
<eip:test-operation>{http://myCpy.ban.com/eau/faisabilite/petals/service/FAIS005/v01}operation-1</eip:test-operation>
<eip:test-operation>{http://myCpy.ban.com/eau/faisabilite/petals/service/FAIS005/v01}operation-2</eip:test-operation>
<eip:fault-robust>false</eip:fault-robust>
<eip:exception-robust>false</eip:exception-robust>
<eip:attachment-mode>false</eip:attachment-mode>
</jbi:provides>
<!-- Consumed project 1 ( test = //toto
) -->
<jbi:consumes
interface-name="iConsumeNsPrefix:XsltInterface"
service-name="iConsumeNsPrefix:FAIS005-Op1"
xmlns:iConsumeNsPrefix="http://petals.ow2.org/components/xslt/version-2">
<!-- CK specific fields for this consume -->
<petalsCDK:operation xmlns:genns1="http://myCpy.ban.com/eau/faisabilite/petals/service/FAIS005/v01">genns1:operation-1</petalsCDK:operation>
<petalsCDK:mep>InOut</petalsCDK:mep>
<petalsCDK:timeout>30000</petalsCDK:timeout>
</jbi:consumes>
<!-- Consumed project 2 ( Default ) -->
<jbi:consumes
interface-name="iConsumeNsPrefix:XsltInterface"
service-name="iConsumeNsPrefix:FAIS005-Op2"
xmlns:iConsumeNsPrefix="http://petals.ow2.org/components/xslt/version-2">
<!-- CK specific fields for this consume -->
<petalsCDK:operation xmlns:genns1="http://myCpy.ban.com/eau/faisabilite/petals/service/FAIS005/v01">genns1:operation-2</petalsCDK:operation>
<petalsCDK:mep>InOut</petalsCDK:mep>
<petalsCDK:timeout>30000</petalsCDK:timeout>
</jbi:consumes>
</jbi:services>
</jbi:jbi>
The 2 XSLT contain the following xsl:
Code:
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" indent="yes" encoding="UTF-8"/>
<xsl:template match="/" xmlns:v01="http://myCpy.ban.com/eau/faisabilite/petals/service/FAIS005/v01">
<v01:operation-1Response>
<param>OPERATION=1</param>
</v01:operation-1Response>
</xsl:template>
</xsl:stylesheet>
Code:
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" indent="yes" encoding="UTF-8"/>
<xsl:template match="/" xmlns:v01="http://myCpy.ban.com/eau/faisabilite/petals/service/FAIS005/v01">
<v01:operation-2Response>
<param>OPERATION=2</param>
</v01:operation-2Response>
</xsl:template>
</xsl:stylesheet>
----------
I can deploy without error but when I try to test Petals get stuck on "processing the pattern" and doesn't do anything else. And I finally get a éWS invocation timeout" in SOAP-UI. Here is the execution trace of Petals:
Code:
petals at localhost:/> [Petals.Container.Components.petals-bc-soap]-FINE 2010-06-14 18:27:33,264 PetalsDispatcher - Checking for Service using target endpoint address : http://172.20.192.105:8084/eau/esb/faisabilite/petals/FAIS005-RoutageOperation
[Petals.Container.Components.petals-bc-soap]-FINE 2010-06-14 18:27:33,264 Receiving a message from Axis2 engine
[Petals.Container.Components.petals-bc-soap]-FINE 2010-06-14 18:27:33,265 Processing the incoming SOAP message
[Petals.Container.Components.petals-bc-soap]-FINEST 2010-06-14 18:27:33,265 soapAction found in the incoming message : operation-1
[Petals.Container.Components.petals-bc-soap]-FINE 2010-06-14 18:27:33,265 Get and update the service definition
[Petals.Container.Components.petals-bc-soap]-FINE 2010-06-14 18:27:33,266 JBI Service endpoint {http://myCpy.ban.com/eau/faisabilite/petals/service/FAIS005/v01}FAIS005-RoutageOperation_EIP ->40598239442358410 (INTERNAL):subdomain1/0/petals-se-eip
[Petals.Container.Components.petals-bc-soap]-FINEST 2010-06-14 18:27:33,289 jbiOperation retrieved : {http://myCpy.ban.com/eau/faisabilite/petals/service/FAIS005/v01}operation-1
[Petals.Container.Components.petals-bc-soap]-FINEST 2010-06-14 18:27:33,293 Message in with Id 'petals:uid:1C2448588FA7B60F3D40601650237740917' to send
[Petals.Container.Components.petals-bc-soap]-FINEST 2010-06-14 18:27:33,293 Message property 'javax.jbi.messaging.protocol.headers' : {}
[Petals.Container.Components.petals-bc-soap]-FINEST 2010-06-14 18:27:33,293 Message Content : <?xml version="1.0" encoding="UTF-8"?><v01:operation-1 xmlns:v01="http://myCpy.ban.com/eau/faisabilite/petals/service/FAIS005/v01" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<envMyCpy>
<id>id1</id>
<consommateur>conso1</consommateur>
</envMyCpy>
<param>param1</param>
</v01:operation-1>
[Petals.Container.Components.petals-se-eip]-FINE 2010-06-14 18:27:33,295 Accepting a JBI message with Id : petals:uid:1C2448588FA7B60F3D40601650237740917
[Petals.Container.Components.petals-se-eip]-FINEST 2010-06-14 18:27:33,296 Process an exchange as PROVIDER with id : petals:uid:1C2448588FA7B60F3D40601650237740917
[Petals.Container.Components.petals-se-eip]-FINE 2010-06-14 18:27:33,296 Intercepting message processing on ACCEPT
[Petals.Container.Components.petals-se-eip]-FINE 2010-06-14 18:27:33,296 Router: processing the pattern
Configuration:
- Ubuntu
- petals-se-eip-2.5-20100610.103318-7
I got the "petals-se-eip-2.5-20100610.103318-7" version from the maven snapshots repository. In the release there was also another version: "petals-se-eip-2.5-SNAPSHOT" but it looked older. Anyway I did the same thest with both and get the same issue each time.
Could you please telle me what I'm doing wrong?
Thanks,
regards,
Seb!
-------------------- m2f --------------------
Subscribe/Unsubscribe emails notifications.
Response to this email will be posted on the Petals forum.
Please delete the existing text before responding :)
Read the topic online:
http://forum.petalslink.com/viewtopic.php?p=31121#31121
-------------------- m2f --------------------
More information about the Users
mailing list