Win a copy of Node.js Design Patterns: Design and implement production-grade Node.js applications using proven patterns and techniques this week in the Server-Side JavaScript and NodeJS forum!
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
  • Campbell Ritchie
  • Ron McLeod
  • Rob Spoor
  • Tim Cooke
  • Junilu Lacar
  • Henry Wong
  • Liutauras Vilda
  • Jeanne Boyarsky
Saloon Keepers:
  • Jesse Silverman
  • Tim Holloway
  • Stephan van Hulst
  • Tim Moores
  • Carey Brown
  • Al Hobbs
  • Mikalai Zaikin
  • Piet Souris

Using BPEL to relay a web service

Ranch Hand
Posts: 65
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I have an unusual web service that I've implemented using BPEL. All it is required to do is accept the message on an inbound port and hand the same message over to a remote web service port, then relay the reply back.

The problem is that since both partner links use the same WSDL (accept the port address of course), there is duplication of some element, like the operations for example. When I build a composite application using the process, it will not build or deploy:

Duplicate PT: CitizensAccountIntf, {}CitizensAccountIntf
Duplicate Binding: SubmitMessageSoapHttp, {}SubmitMessageSoapHttp
Duplicate SLT: CitizensAccountIntfLinkType,
copying Sub-Assembly: D:\SOASamples\LocalCASRelayCompositeApp\build\LocalCASRelay.jar
***Warning: 1 or more consumers with 2 ports [{}CitizensAccountIntf]
Port[0]: : CASRelay, {}SubmitMessageSoapHttp
Port[1]: : CASEndpointBean, {}SubmitMessageSoapHttp
Deleting: D:\SOASamples\LocalCASRelayCompositeApp\build\BCDeployment.jar
Created dir: D:\SOASamples\LocalCASRelayCompositeApp\dist
Building jar: D:\SOASamples\LocalCASRelayCompositeApp\dist\
Error parsing XML: Connection timed out: connect
Deploying a service assembly...
Starting a service assembly...
Failed execution of Start
ERROR: (JBIMA1202) Lifecycle command startServiceAssembly failed for LocalCASRelayCompositeApp :
* Component: com.sun.bpelse-1.0-2
ERROR: (BPELSE) Service unit failed to load deployment Error while loading BPEL file C:\Sun\SDK\domains\domain1\jbi\system\deployment\LocalCASRelayCompositeApp\com.sun.bpelse-1.0-2_LocalCASRelayCompositeApp-LocalCASRelay\LCASRelay.bpel, Exception details are Cannot parse BPEL
D:\SOASamples\LocalCASRelayCompositeApp\nbproject\build-impl.xml:214: Service assembly deployment failed.
BUILD FAILED (total time: 31 seconds)

Is there a neat way around this? Please show by example code if you can.


xmlns:wsdlNS="" xmlns:ns1="" xmlns:ns2="">
<import namespace="" location="CASRelay.wsdl" importType=""/>
<import namespace="" location="Partners/CASEndpointBean/CASEndpointBean.wsdl" importType=""/>
<partnerLink name="CASEndpoint" partnerLinkType="ns2:CitizensAccountIntfLinkType" partnerRole="CitizensAccountIntfRole"/>
<partnerLink name="LCASRelay" partnerLinkType="ns2:CitizensAccountIntfLinkType" myRole="CitizensAccountIntfRole"/>
<variable name="SendCitizenAccountMessageOutRelay" messageType="ns2:CitizenAccountMessageSoapOut"/>
<variable name="SendCitizenAccountMessageInRelay" messageType="ns2:CitizenAccountMessageSoapIn"/>
<variable name="SendCitizenAccountMessageIn" messageType="ns2:CitizenAccountMessageSoapIn"/>
<receive name="LCASReceive" createInstance="yes" partnerLink="LCASRelay" operation="sendCitizenAccountMessage" portType="ns2:CitizensAccountIntf" variable="SendCitizenAccountMessageIn"/>
<assign name="Assign">
<from variable="SendCitizenAccountMessageIn"/>
<to variable="SendCitizenAccountMessageIn"/>
<invoke name="InvokeCAS" partnerLink="CASEndpoint" operation="sendCitizenAccountMessage" portType="ns2:CitizensAccountIntf" inputVariable="SendCitizenAccountMessageInRelay" outputVariable="SendCitizenAccountMessageOutRelay"/>
<reply name="CASReply" partnerLink="LCASRelay" operation="sendCitizenAccountMessage" portType="ns2:CitizensAccountIntf"/>

You showed up just in time for the waffles! And this tiny ad:
Building a Better World in your Backyard by Paul Wheaton and Shawn Klassen-Koop
    Bookmark Topic Watch Topic
  • New Topic