Author: heiko.braun(a)jboss.com
Date: 2009-10-09 08:37:28 -0400 (Fri, 09 Oct 2009)
New Revision: 162
Modified:
trunk/console/identity/riftsaw-console-identity.iml
trunk/console/integration/riftsaw-console-integration.iml
trunk/pom.xml
trunk/runtime/engine/src/main/java/org/jboss/soa/bpel/runtime/ws/SOAPMessageAdapter.java
trunk/runtime/jbossesb-bpel/jbossesb-bpel.iml
Log:
Fix RIFTSAW-45: loan approval example fails
Modified: trunk/console/identity/riftsaw-console-identity.iml
===================================================================
--- trunk/console/identity/riftsaw-console-identity.iml 2009-09-30 13:38:30 UTC (rev 161)
+++ trunk/console/identity/riftsaw-console-identity.iml 2009-10-09 12:37:28 UTC (rev 162)
@@ -1,6 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<module version="4" relativePaths="true"
type="JAVA_MODULE">
- <component name="ModuleRootManager" />
+<module relativePaths="true" type="JAVA_MODULE"
version="4">
<component name="NewModuleRootManager"
inherit-compiler-output="true">
<exclude-output />
<content url="file://$MODULE_DIR$">
@@ -8,7 +7,6 @@
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
- <orderEntryProperties />
</component>
</module>
Modified: trunk/console/integration/riftsaw-console-integration.iml
===================================================================
--- trunk/console/integration/riftsaw-console-integration.iml 2009-09-30 13:38:30 UTC (rev
161)
+++ trunk/console/integration/riftsaw-console-integration.iml 2009-10-09 12:37:28 UTC (rev
162)
@@ -1,6 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<module version="4" relativePaths="true"
type="JAVA_MODULE">
- <component name="ModuleRootManager" />
+<module relativePaths="true" type="JAVA_MODULE"
version="4">
<component name="NewModuleRootManager"
inherit-compiler-output="true">
<exclude-output />
<content url="file://$MODULE_DIR$">
@@ -13,18 +12,18 @@
<orderEntry type="module-library" exported="">
<library name="M2 Dep: javax.xml.bind:jaxb-api:jar:2.1:provided">
<CLASSES>
- <root
url="jar://$MODULE_DIR$/../../../../../../.m2/repository/javax/xml/bind/jaxb-api/2.1/jaxb-api-2.1.jar!/"
/>
+ <root
url="jar://$MAVEN_REPOSITORY$/javax/xml/bind/jaxb-api/2.1/jaxb-api-2.1.jar!/"
/>
</CLASSES>
<JAVADOC />
<SOURCES>
- <root
url="jar://$MODULE_DIR$/../../../../../../.m2/repository/javax/xml/bind/jaxb-api/2.1/jaxb-api-2.1-sources.jar!/"
/>
+ <root
url="jar://$MAVEN_REPOSITORY$/javax/xml/bind/jaxb-api/2.1/jaxb-api-2.1-sources.jar!/"
/>
</SOURCES>
</library>
</orderEntry>
<orderEntry type="module-library" exported="">
<library name="M2 Dep:
javax.xml.stream:stax-api:jar:1.0-2:provided">
<CLASSES>
- <root
url="jar://$MODULE_DIR$/../../../../../../.m2/repository/javax/xml/stream/stax-api/1.0-2/stax-api-1.0-2.jar!/"
/>
+ <root
url="jar://$MAVEN_REPOSITORY$/javax/xml/stream/stax-api/1.0-2/stax-api-1.0-2.jar!/"
/>
</CLASSES>
<JAVADOC />
<SOURCES />
@@ -33,7 +32,7 @@
<orderEntry type="module-library" exported="">
<library name="M2 Dep: stax:stax-api:jar:1.0.1:compile">
<CLASSES>
- <root
url="jar://$MODULE_DIR$/../../../../../../.m2/repository/stax/stax-api/1.0.1/stax-api-1.0.1.jar!/"
/>
+ <root
url="jar://$MAVEN_REPOSITORY$/stax/stax-api/1.0.1/stax-api-1.0.1.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
@@ -42,7 +41,7 @@
<orderEntry type="module-library" exported="">
<library name="M2 Dep:
org.apache.xmlbeans:xmlbeans:jar:2.4.0:compile">
<CLASSES>
- <root
url="jar://$MODULE_DIR$/../../../../../../.m2/repository/org/apache/xmlbeans/xmlbeans/2.4.0/xmlbeans-2.4.0.jar!/"
/>
+ <root
url="jar://$MAVEN_REPOSITORY$/org/apache/xmlbeans/xmlbeans/2.4.0/xmlbeans-2.4.0.jar!/"
/>
</CLASSES>
<JAVADOC />
<SOURCES />
@@ -51,18 +50,18 @@
<orderEntry type="module-library" exported="">
<library name="M2 Dep:
org.jboss.bpm:gwt-console-rpc:jar:1.1.2-SNAPSHOT:provided">
<CLASSES>
- <root
url="jar://$MODULE_DIR$/../../../../../../.m2/repository/org/jboss/bpm/gwt-console-rpc/1.1.2-SNAPSHOT/gwt-console-rpc-1.1.2-SNAPSHOT.jar!/"
/>
+ <root
url="jar://$MAVEN_REPOSITORY$/org/jboss/bpm/gwt-console-rpc/1.1.2-SNAPSHOT/gwt-console-rpc-1.1.2-SNAPSHOT.jar!/"
/>
</CLASSES>
<JAVADOC />
<SOURCES>
- <root
url="jar://$MODULE_DIR$/../../../../../../.m2/repository/org/jboss/bpm/gwt-console-rpc/1.1.2-SNAPSHOT/gwt-console-rpc-1.1.2-SNAPSHOT-sources.jar!/"
/>
+ <root
url="jar://$MAVEN_REPOSITORY$/org/jboss/bpm/gwt-console-rpc/1.1.2-SNAPSHOT/gwt-console-rpc-1.1.2-SNAPSHOT-sources.jar!/"
/>
</SOURCES>
</library>
</orderEntry>
<orderEntry type="module-library" exported="">
<library name="M2 Dep:
com.google.code.gson:gson:jar:1.2.2:provided">
<CLASSES>
- <root
url="jar://$MODULE_DIR$/../../../../../../.m2/repository/com/google/code/gson/gson/1.2.2/gson-1.2.2.jar!/"
/>
+ <root
url="jar://$MAVEN_REPOSITORY$/com/google/code/gson/gson/1.2.2/gson-1.2.2.jar!/"
/>
</CLASSES>
<JAVADOC />
<SOURCES />
@@ -71,29 +70,29 @@
<orderEntry type="module-library" exported="">
<library name="M2 Dep:
org.jboss.bpm:gwt-console-server-integration:jar:1.1.2-SNAPSHOT:provided">
<CLASSES>
- <root
url="jar://$MODULE_DIR$/../../../../../../.m2/repository/org/jboss/bpm/gwt-console-server-integration/1.1.2-SNAPSHOT/gwt-console-server-integration-1.1.2-SNAPSHOT.jar!/"
/>
+ <root
url="jar://$MAVEN_REPOSITORY$/org/jboss/bpm/gwt-console-server-integration/1.1.2-SNAPSHOT/gwt-console-server-integration-1.1.2-SNAPSHOT.jar!/"
/>
</CLASSES>
<JAVADOC />
<SOURCES>
- <root
url="jar://$MODULE_DIR$/../../../../../../.m2/repository/org/jboss/bpm/gwt-console-server-integration/1.1.2-SNAPSHOT/gwt-console-server-integration-1.1.2-SNAPSHOT-sources.jar!/"
/>
+ <root
url="jar://$MAVEN_REPOSITORY$/org/jboss/bpm/gwt-console-server-integration/1.1.2-SNAPSHOT/gwt-console-server-integration-1.1.2-SNAPSHOT-sources.jar!/"
/>
</SOURCES>
</library>
</orderEntry>
<orderEntry type="module-library" exported="">
<library name="M2 Dep:
javax.activation:activation:jar:1.1:provided">
<CLASSES>
- <root
url="jar://$MODULE_DIR$/../../../../../../.m2/repository/javax/activation/activation/1.1/activation-1.1.jar!/"
/>
+ <root
url="jar://$MAVEN_REPOSITORY$/javax/activation/activation/1.1/activation-1.1.jar!/"
/>
</CLASSES>
<JAVADOC />
<SOURCES>
- <root
url="jar://$MODULE_DIR$/../../../../../../.m2/repository/javax/activation/activation/1.1/activation-1.1-sources.jar!/"
/>
+ <root
url="jar://$MAVEN_REPOSITORY$/javax/activation/activation/1.1/activation-1.1-sources.jar!/"
/>
</SOURCES>
</library>
</orderEntry>
<orderEntry type="module-library" exported="">
<library name="M2 Dep:
org.jboss.soa.bpel:riftsaw-utils:jar:1.3.3:compile">
<CLASSES>
- <root
url="jar://$MODULE_DIR$/../../../../../../.m2/repository/org/jboss/soa/bpel/riftsaw-utils/1.3.3/riftsaw-utils-1.3.3.jar!/"
/>
+ <root
url="jar://$MAVEN_REPOSITORY$/org/jboss/soa/bpel/riftsaw-utils/1.3.3/riftsaw-utils-1.3.3.jar!/"
/>
</CLASSES>
<JAVADOC />
<SOURCES />
@@ -102,7 +101,7 @@
<orderEntry type="module-library" exported="">
<library name="M2 Dep:
org.jboss.soa.bpel:riftsaw-bpel-api:jar:1.3.3:compile">
<CLASSES>
- <root
url="jar://$MODULE_DIR$/../../../../../../.m2/repository/org/jboss/soa/bpel/riftsaw-bpel-api/1.3.3/riftsaw-bpel-api-1.3.3.jar!/"
/>
+ <root
url="jar://$MAVEN_REPOSITORY$/org/jboss/soa/bpel/riftsaw-bpel-api/1.3.3/riftsaw-bpel-api-1.3.3.jar!/"
/>
</CLASSES>
<JAVADOC />
<SOURCES />
@@ -111,7 +110,7 @@
<orderEntry type="module-library" exported="">
<library name="M2 Dep:
org.jboss.soa.bpel:riftsaw-bpel-epr:jar:1.3.3:compile">
<CLASSES>
- <root
url="jar://$MODULE_DIR$/../../../../../../.m2/repository/org/jboss/soa/bpel/riftsaw-bpel-epr/1.3.3/riftsaw-bpel-epr-1.3.3.jar!/"
/>
+ <root
url="jar://$MAVEN_REPOSITORY$/org/jboss/soa/bpel/riftsaw-bpel-epr/1.3.3/riftsaw-bpel-epr-1.3.3.jar!/"
/>
</CLASSES>
<JAVADOC />
<SOURCES />
@@ -120,7 +119,7 @@
<orderEntry type="module-library" exported="">
<library name="M2 Dep:
commons-logging:commons-logging:jar:1.1.1:compile">
<CLASSES>
- <root
url="jar://$MODULE_DIR$/../../../../../../.m2/repository/commons-logging/commons-logging/1.1.1/commons-logging-1.1.1.jar!/"
/>
+ <root
url="jar://$MAVEN_REPOSITORY$/commons-logging/commons-logging/1.1.1/commons-logging-1.1.1.jar!/"
/>
</CLASSES>
<JAVADOC />
<SOURCES />
@@ -129,18 +128,18 @@
<orderEntry type="module-library" exported="">
<library name="M2 Dep: javassist:javassist:jar:3.11.0.GA:compile">
<CLASSES>
- <root
url="jar://$MODULE_DIR$/../../../../../../.m2/repository/javassist/javassist/3.11.0.GA/javassist-3.11.0.GA.jar!/"
/>
+ <root
url="jar://$MAVEN_REPOSITORY$/javassist/javassist/3.11.0.GA/javassist-3.11.0.GA.jar!/"
/>
</CLASSES>
<JAVADOC />
<SOURCES>
- <root
url="jar://$MODULE_DIR$/../../../../../../.m2/repository/javassist/javassist/3.11.0.GA/javassist-3.11.0.GA-sources.jar!/"
/>
+ <root
url="jar://$MAVEN_REPOSITORY$/javassist/javassist/3.11.0.GA/javassist-3.11.0.GA-sources.jar!/"
/>
</SOURCES>
</library>
</orderEntry>
<orderEntry type="module-library" exported="">
<library name="M2 Dep:
org.jboss.soa.bpel:riftsaw-bpel-store:jar:1.3.3:compile">
<CLASSES>
- <root
url="jar://$MODULE_DIR$/../../../../../../.m2/repository/org/jboss/soa/bpel/riftsaw-bpel-store/1.3.3/riftsaw-bpel-store-1.3.3.jar!/"
/>
+ <root
url="jar://$MAVEN_REPOSITORY$/org/jboss/soa/bpel/riftsaw-bpel-store/1.3.3/riftsaw-bpel-store-1.3.3.jar!/"
/>
</CLASSES>
<JAVADOC />
<SOURCES />
@@ -149,7 +148,7 @@
<orderEntry type="module-library" exported="">
<library name="M2 Dep:
org.jboss.soa.bpel:riftsaw-bpel-dao:jar:1.3.3:compile">
<CLASSES>
- <root
url="jar://$MODULE_DIR$/../../../../../../.m2/repository/org/jboss/soa/bpel/riftsaw-bpel-dao/1.3.3/riftsaw-bpel-dao-1.3.3.jar!/"
/>
+ <root
url="jar://$MAVEN_REPOSITORY$/org/jboss/soa/bpel/riftsaw-bpel-dao/1.3.3/riftsaw-bpel-dao-1.3.3.jar!/"
/>
</CLASSES>
<JAVADOC />
<SOURCES />
@@ -158,7 +157,7 @@
<orderEntry type="module-library" exported="">
<library name="M2 Dep:
org.jboss.soa.bpel:riftsaw-scheduler-simple:jar:1.3.3:compile">
<CLASSES>
- <root
url="jar://$MODULE_DIR$/../../../../../../.m2/repository/org/jboss/soa/bpel/riftsaw-scheduler-simple/1.3.3/riftsaw-scheduler-simple-1.3.3.jar!/"
/>
+ <root
url="jar://$MAVEN_REPOSITORY$/org/jboss/soa/bpel/riftsaw-scheduler-simple/1.3.3/riftsaw-scheduler-simple-1.3.3.jar!/"
/>
</CLASSES>
<JAVADOC />
<SOURCES />
@@ -167,7 +166,7 @@
<orderEntry type="module-library" exported="">
<library name="M2 Dep: wsdl4j:wsdl4j:jar:1.6.2:compile">
<CLASSES>
- <root
url="jar://$MODULE_DIR$/../../../../../../.m2/repository/wsdl4j/wsdl4j/1.6.2/wsdl4j-1.6.2.jar!/"
/>
+ <root
url="jar://$MAVEN_REPOSITORY$/wsdl4j/wsdl4j/1.6.2/wsdl4j-1.6.2.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
@@ -176,7 +175,7 @@
<orderEntry type="module-library" exported="">
<library name="M2 Dep:
org.jboss.soa.bpel:riftsaw-agents:jar:1.3.3:compile">
<CLASSES>
- <root
url="jar://$MODULE_DIR$/../../../../../../.m2/repository/org/jboss/soa/bpel/riftsaw-agents/1.3.3/riftsaw-agents-1.3.3.jar!/"
/>
+ <root
url="jar://$MAVEN_REPOSITORY$/org/jboss/soa/bpel/riftsaw-agents/1.3.3/riftsaw-agents-1.3.3.jar!/"
/>
</CLASSES>
<JAVADOC />
<SOURCES />
@@ -185,7 +184,7 @@
<orderEntry type="module-library" exported="">
<library name="M2 Dep:
org.jboss.soa.bpel:riftsaw-bpel-runtime:jar:1.3.3:compile">
<CLASSES>
- <root
url="jar://$MODULE_DIR$/../../../../../../.m2/repository/org/jboss/soa/bpel/riftsaw-bpel-runtime/1.3.3/riftsaw-bpel-runtime-1.3.3.jar!/"
/>
+ <root
url="jar://$MAVEN_REPOSITORY$/org/jboss/soa/bpel/riftsaw-bpel-runtime/1.3.3/riftsaw-bpel-runtime-1.3.3.jar!/"
/>
</CLASSES>
<JAVADOC />
<SOURCES />
@@ -194,13 +193,12 @@
<orderEntry type="module-library" exported="">
<library name="M2 Dep:
org.jboss.soa.bpel:riftsaw-bpel-schemas:jar:1.3.3:compile">
<CLASSES>
- <root
url="jar://$MODULE_DIR$/../../../../../../.m2/repository/org/jboss/soa/bpel/riftsaw-bpel-schemas/1.3.3/riftsaw-bpel-schemas-1.3.3.jar!/"
/>
+ <root
url="jar://$MAVEN_REPOSITORY$/org/jboss/soa/bpel/riftsaw-bpel-schemas/1.3.3/riftsaw-bpel-schemas-1.3.3.jar!/"
/>
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
- <orderEntryProperties />
</component>
</module>
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2009-09-30 13:38:30 UTC (rev 161)
+++ trunk/pom.xml 2009-10-09 12:37:28 UTC (rev 162)
@@ -52,7 +52,7 @@
<modules>
<module>runtime</module>
<module>console</module>
- <module>docs/docbook</module>
+ <!--module>docs/docbook</module-->
<module>distribution</module>
</modules>
Modified:
trunk/runtime/engine/src/main/java/org/jboss/soa/bpel/runtime/ws/SOAPMessageAdapter.java
===================================================================
---
trunk/runtime/engine/src/main/java/org/jboss/soa/bpel/runtime/ws/SOAPMessageAdapter.java 2009-09-30
13:38:30 UTC (rev 161)
+++
trunk/runtime/engine/src/main/java/org/jboss/soa/bpel/runtime/ws/SOAPMessageAdapter.java 2009-10-09
12:37:28 UTC (rev 162)
@@ -25,12 +25,14 @@
import org.apache.commons.logging.LogFactory;
import org.apache.ode.bpel.iapi.Message;
import org.apache.ode.utils.DOMUtils;
+import org.apache.ode.utils.stl.CollectionsX;
import org.apache.ode.utils.wsdl.WsdlUtils;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import javax.wsdl.*;
+import javax.wsdl.extensions.ElementExtensible;
import javax.wsdl.extensions.soap.SOAPBinding;
import javax.xml.namespace.QName;
import javax.xml.soap.*;
@@ -44,7 +46,7 @@
* {@link org.apache.ode.bpel.iapi.Message} representation and vice versa.
*
* @see org.jboss.soa.bpel.runtime.ws.WebServiceClient
- *
+ *
* @author Heiko.Braun <heiko.braun(a)jboss.com>
*/
public class SOAPMessageAdapter
@@ -102,12 +104,11 @@
}
}
- public void createSoapRequest(SOAPMessage soapMessage, Message odeRequestMessage,
Operation odeOperation)
+ public void createSoapRequest(SOAPMessage soapMessage, Message odeRequestMessage,
Operation wsdlOperation)
{
-
- BindingOperation bop = binding.getBindingOperation(odeOperation.getName(), null,
null);
+ BindingOperation bop = binding.getBindingOperation(wsdlOperation.getName(), null,
null);
if (bop == null)
- throw new RuntimeException("Operation "+odeOperation.getName()+"not
found on "+serviceName+"/"+portName);
+ throw new RuntimeException("Operation "+wsdlOperation.getName()+"not
found on "+serviceName+"/"+portName);
BindingInput bi = bop.getBindingInput();
if (bi == null)
@@ -116,52 +117,60 @@
// Headers
createSoapHeaders(
soapMessage,
- odeOperation.getInput().getMessage(),
+ getSOAPHeaders(bi),
+ wsdlOperation.getInput().getMessage(),
odeRequestMessage.getHeaderParts()
);
// SOAP Body
+ javax.wsdl.extensions.soap.SOAPBody wsdlSoapBody = getSOAPBody(bi);
+
createSoapBody(
soapMessage,
- odeOperation.getInput().getMessage(),
+ wsdlSoapBody,
+ wsdlOperation.getInput().getMessage(),
odeRequestMessage.getMessage(),
- odeOperation.getName()
+ wsdlOperation.getName()
);
}
- public void createSoapResponse(SOAPMessage soapMessage, Message odeResponseMessage,
Operation odeOperation)
+ public void createSoapResponse(SOAPMessage soapMessage, Message odeResponseMessage,
Operation wsdlOperation)
{
- BindingOperation bop =
binding.getBindingOperation(odeOperation.getName(),null,null);
+ BindingOperation bop =
binding.getBindingOperation(wsdlOperation.getName(),null,null);
if (bop == null)
- throw new RuntimeException("Operation "+odeOperation.getName()+"not
found on "+serviceName+"/"+portName);
+ throw new RuntimeException("Operation "+wsdlOperation.getName()+"not
found on "+serviceName+"/"+portName);
BindingOutput bo = bop.getBindingOutput();
if (bo == null)
throw new RuntimeException("Binding output not found on
"+serviceName+"/"+portName);
// Headers
- if (odeResponseMessage.getHeaderParts().size() > 0)
+ if (odeResponseMessage.getHeaderParts().size() > 0 || getSOAPHeaders(bo).size()
> 0)
createSoapHeaders(
soapMessage,
- odeOperation.getOutput().getMessage(),
+ getSOAPHeaders(bo),
+ wsdlOperation.getOutput().getMessage(),
odeResponseMessage.getHeaderParts()
);
// SOAP Body
+ javax.wsdl.extensions.soap.SOAPBody wsdlSOAPBody = getSOAPBody(bo);
createSoapBody(
soapMessage,
- odeOperation.getOutput().getMessage(),
+ wsdlSOAPBody,
+ wsdlOperation.getOutput().getMessage(),
odeResponseMessage.getMessage(),
- odeOperation.getName() + "Response"
+ wsdlOperation.getName() + "Response"
);
}
- private void createSoapBody(SOAPMessage soapMessage, javax.wsdl.Message
wsdlMessageDef,
+ private void createSoapBody(SOAPMessage soapMessage,
+ javax.wsdl.extensions.soap.SOAPBody wsdlSoapBody,
javax.wsdl.Message wsdlMessageDef,
Element message, String operationName)
{
try
@@ -171,19 +180,16 @@
SOAPElement partHolder = null;
if(isRPC)
{
- partHolder = soapFactory.createElement(new QName(soapBody.getNamespaceURI(),
operationName, "odens"));
- soapBody.addChildElement(partHolder);
+ partHolder = soapFactory.createElement(new QName(wsdlSoapBody.getNamespaceURI(),
operationName, "odens"));
}
else
{
partHolder = soapBody;
}
- Map parts = wsdlMessageDef.getParts();
- Iterator it = parts.keySet().iterator(); // TODO: Part order
- while(it.hasNext())
- {
- Part part = (Part)parts.get(it.next());
+ List<Part> parts = wsdlMessageDef.getOrderedParts(wsdlSoapBody.getParts());
+ for(Part part : parts)
+ {
Element srcPartEl = DOMUtils.findChildByName(message, new QName(null,
part.getName()));
if (srcPartEl == null)
throw new RuntimeException("Part is missing" +part.getName());
@@ -198,6 +204,10 @@
for (Iterator<SOAPElement> i = partElement.getChildElements();
i.hasNext();) partHolder.addChildElement(i.next());
}
}
+
+ // late bind
+ if(isRPC)
+ soapBody.addChildElement(partHolder);
}
catch (SOAPException e)
{
@@ -205,7 +215,9 @@
}
}
- private void createSoapHeaders(SOAPMessage soapMessage, javax.wsdl.Message
wsdlMessageDef, Map<String, Node> headerParts)
+ private void createSoapHeaders(SOAPMessage soapMessage, List<SOAPHeader>
headers,
+ javax.wsdl.Message wsdlMessageDef,
+ Map<String, Node> headerParts)
{
log.warn("createSoapHeaders() not implemented");
}
@@ -221,9 +233,9 @@
throw new RuntimeException("Binding output not found on
"+serviceName+"/"+portName);
- extractSoapBodyParts(odeMessage, soapMessage, odeOperation.getOutput().getMessage(),
odeOperation.getName() + "Response");
+ javax.wsdl.extensions.soap.SOAPBody wsdlSOAPBody = getSOAPBody(bo);
+ extractSoapBodyParts(odeMessage, soapMessage, wsdlSOAPBody,
odeOperation.getOutput().getMessage(), odeOperation.getName() + "Response");
-
extractSoapHeaderParts(odeMessage, soapMessage,
odeOperation.getOutput().getMessage());
}
@@ -232,12 +244,16 @@
log.warn("extractSoapHeaderParts() not implemented");
}
- private void extractSoapBodyParts(Message odeMessage, SOAPMessage soapMessage,
javax.wsdl.Message wsdlMessageDef, String operationName)
- {
+ private void extractSoapBodyParts(
+ Message odeMessage,
+ SOAPMessage soapMessage,
+ javax.wsdl.extensions.soap.SOAPBody wsdlSOAPBody,
+ javax.wsdl.Message wsdlMessageDef, String operationName)
+ {
try
{
SOAPBody soapBody = soapMessage.getSOAPBody();
- Map parts = wsdlMessageDef.getParts(); // TODO: Part order
+ List<Part> parts = wsdlMessageDef.getOrderedParts(wsdlSOAPBody.getParts());
if(isRPC)
{
@@ -245,16 +261,14 @@
// we're concerned. All we need to do is copy the soap:body children, since
doc-lit rpc looks the same
// in ode and soap.
- QName rpcWrapQName = new QName(soapBody.getNamespaceURI(), operationName);
+ QName rpcWrapQName = new QName(wsdlSOAPBody.getNamespaceURI(), operationName);
SOAPElement partWrapper = getFirstChildWithName(rpcWrapQName, soapBody);
if (partWrapper == null)
throw new RuntimeException("Expected part wrapper
'"+rpcWrapQName+"'missing on
service:"+serviceName+"/"+portName);
- Iterator it = parts.keySet().iterator();
- while(it.hasNext())
- {
- Part part = (Part)parts.get(it.next());
+ for(Part part : parts)
+ {
SOAPElement srcPart = getFirstChildWithName(new QName(null, part.getName()),
partWrapper);
if (srcPart == null)
throw new RuntimeException("Soap body does not contain required part
+"+part.getName());
@@ -267,10 +281,8 @@
// In doc-literal style, we expect the elements in the body to correspond (in
order) to the
// parts defined in the binding. All the parts should be element-typed, otherwise
it is a mess.
Iterator<SOAPElement> srcParts = soapBody.getChildElements();
- Iterator it = parts.keySet().iterator();
- while(it.hasNext())
+ for(Part part : parts)
{
- Part part = (Part)parts.get(it.next());
SOAPElement srcPart = srcParts.next();
Document doc = DOMUtils.newDocument();
Element destPart = doc.createElementNS(null, part.getName());
@@ -281,7 +293,7 @@
}
catch (SOAPException e)
{
- throw new RuntimeException("Failed to extact soap body parts", e);
+ throw new RuntimeException("Failed to extract soap body parts", e);
}
}
@@ -311,4 +323,20 @@
throw new RuntimeException(e);
}
}
+
+ public static <T> T getFirstExtensibilityElement(ElementExtensible parent,
Class<T> cls) {
+ Collection<T> ee = CollectionsX.filter(parent.getExtensibilityElements(),
cls);
+
+ return ee.isEmpty() ? null : ee.iterator().next();
+
+ }
+
+ public static javax.wsdl.extensions.soap.SOAPBody getSOAPBody(ElementExtensible ee) {
+ return getFirstExtensibilityElement(ee, javax.wsdl.extensions.soap.SOAPBody.class);
+ }
+
+ public static List<SOAPHeader> getSOAPHeaders(ElementExtensible eee) {
+ return CollectionsX.filter(new ArrayList<SOAPHeader>(),
(Collection<Object>) eee.getExtensibilityElements(),
+ SOAPHeader.class);
+ }
}
Modified: trunk/runtime/jbossesb-bpel/jbossesb-bpel.iml
===================================================================
--- trunk/runtime/jbossesb-bpel/jbossesb-bpel.iml 2009-09-30 13:38:30 UTC (rev 161)
+++ trunk/runtime/jbossesb-bpel/jbossesb-bpel.iml 2009-10-09 12:37:28 UTC (rev 162)
@@ -1,6 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<module version="4" relativePaths="true"
type="JAVA_MODULE">
- <component name="ModuleRootManager" />
+<module relativePaths="true" type="JAVA_MODULE"
version="4">
<component name="NewModuleRootManager"
inherit-compiler-output="true">
<exclude-output />
<content url="file://$MODULE_DIR$">
@@ -15,7 +14,7 @@
<orderEntry type="module-library" exported="">
<library name="M2 Dep: junit:junit:jar:3.8.1:test">
<CLASSES>
- <root
url="jar://$MODULE_DIR$/../../../../../../.m2/repository/junit/junit/3.8.1/junit-3.8.1.jar!/"
/>
+ <root
url="jar://$MAVEN_REPOSITORY$/junit/junit/3.8.1/junit-3.8.1.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
@@ -24,7 +23,7 @@
<orderEntry type="module-library" exported="">
<library name="M2 Dep:
org.jboss.soa.esb:jbossesb-rosetta:jar:4.5.GA:compile">
<CLASSES>
- <root
url="jar://$MODULE_DIR$/../../../../../../.m2/repository/org/jboss/soa/esb/jbossesb-rosetta/4.5.GA/jbossesb-rosetta-4.5.GA.jar!/"
/>
+ <root
url="jar://$MAVEN_REPOSITORY$/org/jboss/soa/esb/jbossesb-rosetta/4.5.GA/jbossesb-rosetta-4.5.GA.jar!/"
/>
</CLASSES>
<JAVADOC />
<SOURCES />
@@ -33,7 +32,7 @@
<orderEntry type="module-library" exported="">
<library name="M2 Dep:
org.jboss.soa.bpel:riftsaw-bpel-api:jar:1.3.3:compile">
<CLASSES>
- <root
url="jar://$MODULE_DIR$/../../../../../../.m2/repository/org/jboss/soa/bpel/riftsaw-bpel-api/1.3.3/riftsaw-bpel-api-1.3.3.jar!/"
/>
+ <root
url="jar://$MAVEN_REPOSITORY$/org/jboss/soa/bpel/riftsaw-bpel-api/1.3.3/riftsaw-bpel-api-1.3.3.jar!/"
/>
</CLASSES>
<JAVADOC />
<SOURCES />
@@ -42,7 +41,7 @@
<orderEntry type="module-library" exported="">
<library name="M2 Dep:
org.jboss.soa.bpel:riftsaw-utils:jar:1.3.3:compile">
<CLASSES>
- <root
url="jar://$MODULE_DIR$/../../../../../../.m2/repository/org/jboss/soa/bpel/riftsaw-utils/1.3.3/riftsaw-utils-1.3.3.jar!/"
/>
+ <root
url="jar://$MAVEN_REPOSITORY$/org/jboss/soa/bpel/riftsaw-utils/1.3.3/riftsaw-utils-1.3.3.jar!/"
/>
</CLASSES>
<JAVADOC />
<SOURCES />
@@ -51,7 +50,7 @@
<orderEntry type="module-library" exported="">
<library name="M2 Dep:
org.jboss.soa.bpel:riftsaw-bpel-epr:jar:1.3.3:compile">
<CLASSES>
- <root
url="jar://$MODULE_DIR$/../../../../../../.m2/repository/org/jboss/soa/bpel/riftsaw-bpel-epr/1.3.3/riftsaw-bpel-epr-1.3.3.jar!/"
/>
+ <root
url="jar://$MAVEN_REPOSITORY$/org/jboss/soa/bpel/riftsaw-bpel-epr/1.3.3/riftsaw-bpel-epr-1.3.3.jar!/"
/>
</CLASSES>
<JAVADOC />
<SOURCES />
@@ -60,7 +59,7 @@
<orderEntry type="module-library" exported="">
<library name="M2 Dep:
commons-logging:commons-logging:jar:1.1.1:compile">
<CLASSES>
- <root
url="jar://$MODULE_DIR$/../../../../../../.m2/repository/commons-logging/commons-logging/1.1.1/commons-logging-1.1.1.jar!/"
/>
+ <root
url="jar://$MAVEN_REPOSITORY$/commons-logging/commons-logging/1.1.1/commons-logging-1.1.1.jar!/"
/>
</CLASSES>
<JAVADOC />
<SOURCES />
@@ -69,18 +68,18 @@
<orderEntry type="module-library" exported="">
<library name="M2 Dep: javassist:javassist:jar:3.11.0.GA:compile">
<CLASSES>
- <root
url="jar://$MODULE_DIR$/../../../../../../.m2/repository/javassist/javassist/3.11.0.GA/javassist-3.11.0.GA.jar!/"
/>
+ <root
url="jar://$MAVEN_REPOSITORY$/javassist/javassist/3.11.0.GA/javassist-3.11.0.GA.jar!/"
/>
</CLASSES>
<JAVADOC />
<SOURCES>
- <root
url="jar://$MODULE_DIR$/../../../../../../.m2/repository/javassist/javassist/3.11.0.GA/javassist-3.11.0.GA-sources.jar!/"
/>
+ <root
url="jar://$MAVEN_REPOSITORY$/javassist/javassist/3.11.0.GA/javassist-3.11.0.GA-sources.jar!/"
/>
</SOURCES>
</library>
</orderEntry>
<orderEntry type="module-library" exported="">
<library name="M2 Dep:
org.jboss.soa.bpel:riftsaw-bpel-store:jar:1.3.3:compile">
<CLASSES>
- <root
url="jar://$MODULE_DIR$/../../../../../../.m2/repository/org/jboss/soa/bpel/riftsaw-bpel-store/1.3.3/riftsaw-bpel-store-1.3.3.jar!/"
/>
+ <root
url="jar://$MAVEN_REPOSITORY$/org/jboss/soa/bpel/riftsaw-bpel-store/1.3.3/riftsaw-bpel-store-1.3.3.jar!/"
/>
</CLASSES>
<JAVADOC />
<SOURCES />
@@ -89,7 +88,7 @@
<orderEntry type="module-library" exported="">
<library name="M2 Dep:
org.jboss.soa.bpel:riftsaw-bpel-dao:jar:1.3.3:compile">
<CLASSES>
- <root
url="jar://$MODULE_DIR$/../../../../../../.m2/repository/org/jboss/soa/bpel/riftsaw-bpel-dao/1.3.3/riftsaw-bpel-dao-1.3.3.jar!/"
/>
+ <root
url="jar://$MAVEN_REPOSITORY$/org/jboss/soa/bpel/riftsaw-bpel-dao/1.3.3/riftsaw-bpel-dao-1.3.3.jar!/"
/>
</CLASSES>
<JAVADOC />
<SOURCES />
@@ -98,7 +97,7 @@
<orderEntry type="module-library" exported="">
<library name="M2 Dep:
org.jboss.soa.bpel:riftsaw-scheduler-simple:jar:1.3.3:compile">
<CLASSES>
- <root
url="jar://$MODULE_DIR$/../../../../../../.m2/repository/org/jboss/soa/bpel/riftsaw-scheduler-simple/1.3.3/riftsaw-scheduler-simple-1.3.3.jar!/"
/>
+ <root
url="jar://$MAVEN_REPOSITORY$/org/jboss/soa/bpel/riftsaw-scheduler-simple/1.3.3/riftsaw-scheduler-simple-1.3.3.jar!/"
/>
</CLASSES>
<JAVADOC />
<SOURCES />
@@ -107,7 +106,7 @@
<orderEntry type="module-library" exported="">
<library name="M2 Dep: wsdl4j:wsdl4j:jar:1.6.2:compile">
<CLASSES>
- <root
url="jar://$MODULE_DIR$/../../../../../../.m2/repository/wsdl4j/wsdl4j/1.6.2/wsdl4j-1.6.2.jar!/"
/>
+ <root
url="jar://$MAVEN_REPOSITORY$/wsdl4j/wsdl4j/1.6.2/wsdl4j-1.6.2.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
@@ -116,7 +115,7 @@
<orderEntry type="module-library" exported="">
<library name="M2 Dep:
org.jboss.soa.bpel:riftsaw-agents:jar:1.3.3:compile">
<CLASSES>
- <root
url="jar://$MODULE_DIR$/../../../../../../.m2/repository/org/jboss/soa/bpel/riftsaw-agents/1.3.3/riftsaw-agents-1.3.3.jar!/"
/>
+ <root
url="jar://$MAVEN_REPOSITORY$/org/jboss/soa/bpel/riftsaw-agents/1.3.3/riftsaw-agents-1.3.3.jar!/"
/>
</CLASSES>
<JAVADOC />
<SOURCES />
@@ -125,7 +124,7 @@
<orderEntry type="module-library" exported="">
<library name="M2 Dep:
org.jboss.soa.esb:jbossts-common:jar:4.5.GA:test">
<CLASSES>
- <root
url="jar://$MODULE_DIR$/../../../../../../.m2/repository/org/jboss/soa/esb/jbossts-common/4.5.GA/jbossts-common-4.5.GA.jar!/"
/>
+ <root
url="jar://$MAVEN_REPOSITORY$/org/jboss/soa/esb/jbossts-common/4.5.GA/jbossts-common-4.5.GA.jar!/"
/>
</CLASSES>
<JAVADOC />
<SOURCES />
@@ -134,7 +133,7 @@
<orderEntry type="module-library" exported="">
<library name="M2 Dep:
org.jboss.soa.bpel:riftsaw-bpel-runtime:jar:1.3.3:compile">
<CLASSES>
- <root
url="jar://$MODULE_DIR$/../../../../../../.m2/repository/org/jboss/soa/bpel/riftsaw-bpel-runtime/1.3.3/riftsaw-bpel-runtime-1.3.3.jar!/"
/>
+ <root
url="jar://$MAVEN_REPOSITORY$/org/jboss/soa/bpel/riftsaw-bpel-runtime/1.3.3/riftsaw-bpel-runtime-1.3.3.jar!/"
/>
</CLASSES>
<JAVADOC />
<SOURCES />
@@ -143,15 +142,14 @@
<orderEntry type="module-library" exported="">
<library name="M2 Dep: log4j:log4j:jar:1.2.14:test">
<CLASSES>
- <root
url="jar://$MODULE_DIR$/../../../../../../.m2/repository/log4j/log4j/1.2.14/log4j-1.2.14.jar!/"
/>
+ <root
url="jar://$MAVEN_REPOSITORY$/log4j/log4j/1.2.14/log4j-1.2.14.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
- <root
url="jar://$MODULE_DIR$/../../../../../../.m2/repository/log4j/log4j/1.2.14/log4j-1.2.14-sources.jar!/"
/>
+ <root
url="jar://$MAVEN_REPOSITORY$/log4j/log4j/1.2.14/log4j-1.2.14-sources.jar!/"
/>
</SOURCES>
</library>
</orderEntry>
- <orderEntryProperties />
</component>
</module>