You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ode.apache.org by mr...@apache.org on 2006/07/08 01:55:08 UTC
svn commit: r420016 - in /incubator/ode/scratch/pxe-iapi: axis/
axis/src/main/java/com/fs/pxe/axis/ axis/src/main/java/com/fs/pxe/axis/epr/
axis/src/main/java/com/fs/pxe/axis/hooks/
bpel-api/src/main/java/com/fs/pxe/bpel/epr/ bpel-api/src/main/java/com...
Author: mriou
Date: Fri Jul 7 16:55:07 2006
New Revision: 420016
URL: http://svn.apache.org/viewvc?rev=420016&view=rev
Log:
Partner link assignment (and therefore enpdoint) work for simple URLs and WSDL 1.1 service endpoints. WSA endpoints aren't working yet. Added a method in IAPI EndpointReferenceContext interface to handle the EPR conversion when necessary.
Added:
incubator/ode/scratch/pxe-iapi/bpel-api/src/main/java/com/fs/pxe/bpel/epr/
- copied from r419390, incubator/ode/scratch/pxe-iapi/axis/src/main/java/com/fs/pxe/axis/epr/
incubator/ode/scratch/pxe-iapi/bpel-api/src/main/java/com/fs/pxe/bpel/epr/WSDL11Endpoint.java
- copied, changed from r419925, incubator/ode/scratch/pxe-iapi/axis/src/main/java/com/fs/pxe/axis/epr/WSDL11Endpoint.java
Removed:
incubator/ode/scratch/pxe-iapi/axis/src/main/java/com/fs/pxe/axis/epr/
Modified:
incubator/ode/scratch/pxe-iapi/axis/pom.xml
incubator/ode/scratch/pxe-iapi/axis/src/main/java/com/fs/pxe/axis/AxisInvoker.java
incubator/ode/scratch/pxe-iapi/axis/src/main/java/com/fs/pxe/axis/DeploymentPoller.java
incubator/ode/scratch/pxe-iapi/axis/src/main/java/com/fs/pxe/axis/EndpointReferenceContextImpl.java
incubator/ode/scratch/pxe-iapi/axis/src/main/java/com/fs/pxe/axis/PXEService.java
incubator/ode/scratch/pxe-iapi/axis/src/main/java/com/fs/pxe/axis/hooks/PXEMessageReceiver.java
incubator/ode/scratch/pxe-iapi/bpel-api/src/main/java/com/fs/pxe/bpel/epr/EndpointFactory.java
incubator/ode/scratch/pxe-iapi/bpel-api/src/main/java/com/fs/pxe/bpel/epr/MutableEndpoint.java
incubator/ode/scratch/pxe-iapi/bpel-api/src/main/java/com/fs/pxe/bpel/epr/URLEndpoint.java
incubator/ode/scratch/pxe-iapi/bpel-api/src/main/java/com/fs/pxe/bpel/epr/WSAEndpoint.java
incubator/ode/scratch/pxe-iapi/bpel-api/src/main/java/com/fs/pxe/bpel/epr/WSDL20Endpoint.java
incubator/ode/scratch/pxe-iapi/bpel-api/src/main/java/com/fs/pxe/bpel/iapi/EndpointReferenceContext.java
incubator/ode/scratch/pxe-iapi/bpel-runtime/src/main/java/com/fs/pxe/bpel/engine/BpelRuntimeContextImpl.java
incubator/ode/scratch/pxe-iapi/bpel-runtime/src/main/java/com/fs/pxe/bpel/engine/ProcessDDInitializer.java
incubator/ode/scratch/pxe-iapi/bpel-runtime/src/main/java/com/fs/pxe/bpel/runtime/ASSIGN.java
incubator/ode/scratch/pxe-iapi/jbi/src/main/java/com/fs/pxe/jbi/EndpointReferenceContextImpl.java
incubator/ode/scratch/pxe-iapi/sp-bpel/src/main/java/com/fs/pxe/bpel/provider/URLEndpointReferenceImpl.java
Modified: incubator/ode/scratch/pxe-iapi/axis/pom.xml
URL: http://svn.apache.org/viewvc/incubator/ode/scratch/pxe-iapi/axis/pom.xml?rev=420016&r1=420015&r2=420016&view=diff
==============================================================================
--- incubator/ode/scratch/pxe-iapi/axis/pom.xml (original)
+++ incubator/ode/scratch/pxe-iapi/axis/pom.xml Fri Jul 7 16:55:07 2006
@@ -36,6 +36,10 @@
<groupId>pxe</groupId>
<artifactId>pxe-naming</artifactId>
</dependency>
+ <dependency>
+ <groupId>pxe</groupId>
+ <artifactId>pxe-bpel-api</artifactId>
+ </dependency>
<dependency>
<groupId>axis2</groupId>
Modified: incubator/ode/scratch/pxe-iapi/axis/src/main/java/com/fs/pxe/axis/AxisInvoker.java
URL: http://svn.apache.org/viewvc/incubator/ode/scratch/pxe-iapi/axis/src/main/java/com/fs/pxe/axis/AxisInvoker.java?rev=420016&r1=420015&r2=420016&view=diff
==============================================================================
--- incubator/ode/scratch/pxe-iapi/axis/src/main/java/com/fs/pxe/axis/AxisInvoker.java (original)
+++ incubator/ode/scratch/pxe-iapi/axis/src/main/java/com/fs/pxe/axis/AxisInvoker.java Fri Jul 7 16:55:07 2006
@@ -1,9 +1,9 @@
package com.fs.pxe.axis;
-import com.fs.pxe.axis.epr.MutableEndpoint;
import com.fs.pxe.bpel.iapi.Message;
import com.fs.pxe.bpel.iapi.MessageExchange;
import com.fs.pxe.bpel.iapi.PartnerRoleMessageExchange;
+import com.fs.pxe.bpel.epr.MutableEndpoint;
import com.fs.utils.DOMUtils;
import org.apache.axiom.om.OMElement;
import org.apache.axis2.AxisFault;
@@ -67,6 +67,9 @@
reply = freply.get();
} catch (Exception e) {
__log.error("We've been interrupted while waiting for reply to MEX " + pxeMex + "!!!");
+ String errmsg = "Error sending message to Axis2 for PXE mex " + pxeMex;
+ __log.error(errmsg, e);
+ pxeMex.replyWithFailure(MessageExchange.FailureType.COMMUNICATION_ERROR, errmsg, null);
}
final Message response = pxeMex.createMessage(pxeMex.getOperation().getOutput().getMessage().getQName());
Modified: incubator/ode/scratch/pxe-iapi/axis/src/main/java/com/fs/pxe/axis/DeploymentPoller.java
URL: http://svn.apache.org/viewvc/incubator/ode/scratch/pxe-iapi/axis/src/main/java/com/fs/pxe/axis/DeploymentPoller.java?rev=420016&r1=420015&r2=420016&view=diff
==============================================================================
--- incubator/ode/scratch/pxe-iapi/axis/src/main/java/com/fs/pxe/axis/DeploymentPoller.java (original)
+++ incubator/ode/scratch/pxe-iapi/axis/src/main/java/com/fs/pxe/axis/DeploymentPoller.java Fri Jul 7 16:55:07 2006
@@ -73,6 +73,7 @@
DeploymentUnit du = new DeploymentUnit(file, _pxeServer);
_inspectedFiles.add(du);
du.deploy(!_initDone);
+ __log.info("Deployment of artifact " + file.getName() + " successful.");
} catch (Exception e) {
__log.error("Deployment of " + file.getName() + " failed, aborting for now.", e);
}
Modified: incubator/ode/scratch/pxe-iapi/axis/src/main/java/com/fs/pxe/axis/EndpointReferenceContextImpl.java
URL: http://svn.apache.org/viewvc/incubator/ode/scratch/pxe-iapi/axis/src/main/java/com/fs/pxe/axis/EndpointReferenceContextImpl.java?rev=420016&r1=420015&r2=420016&view=diff
==============================================================================
--- incubator/ode/scratch/pxe-iapi/axis/src/main/java/com/fs/pxe/axis/EndpointReferenceContextImpl.java (original)
+++ incubator/ode/scratch/pxe-iapi/axis/src/main/java/com/fs/pxe/axis/EndpointReferenceContextImpl.java Fri Jul 7 16:55:07 2006
@@ -1,15 +1,22 @@
package com.fs.pxe.axis;
-import com.fs.pxe.axis.epr.EndpointFactory;
+import com.fs.pxe.bpel.epr.EndpointFactory;
import com.fs.pxe.bpel.iapi.EndpointReference;
import com.fs.pxe.bpel.iapi.EndpointReferenceContext;
+import com.fs.utils.DOMUtils;
import org.w3c.dom.Element;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
import javax.xml.namespace.QName;
public class EndpointReferenceContextImpl implements EndpointReferenceContext {
+ private static final Log __log = LogFactory.getLog(EndpointReferenceContextImpl.class);
+
public EndpointReference resolveEndpointReference(Element element) {
+ if (__log.isDebugEnabled())
+ __log.debug("Resolving endpoint reference " + DOMUtils.domToString(element));
return EndpointFactory.createEndpoint(element);
}
@@ -20,5 +27,10 @@
public void deactivateEndpoint(EndpointReference endpointReference) {
// Axis doesn't need any explicit endpoint activation / deactivation
+ }
+
+ public EndpointReference convertEndpoint(QName qName, Element element) {
+ EndpointReference endpoint = EndpointFactory.convert(qName, element);
+ return endpoint;
}
}
Modified: incubator/ode/scratch/pxe-iapi/axis/src/main/java/com/fs/pxe/axis/PXEService.java
URL: http://svn.apache.org/viewvc/incubator/ode/scratch/pxe-iapi/axis/src/main/java/com/fs/pxe/axis/PXEService.java?rev=420016&r1=420015&r2=420016&view=diff
==============================================================================
--- incubator/ode/scratch/pxe-iapi/axis/src/main/java/com/fs/pxe/axis/PXEService.java (original)
+++ incubator/ode/scratch/pxe-iapi/axis/src/main/java/com/fs/pxe/axis/PXEService.java Fri Jul 7 16:55:07 2006
@@ -74,9 +74,11 @@
__log.debug("Invoking PXE using MEX " + pxeMex);
pxeMex.invoke(pxeRequest);
+ boolean timeout = false;
// Invocation response could be delayed, if so we have to wait for it.
if (pxeMex.getStatus() == MessageExchange.Status.ASYNC) {
- pxeMex = callback.getResponse(TIMEOUT);
+ MyRoleMessageExchange tmpMex = callback.getResponse(TIMEOUT);
+ if (tmpMex == null) timeout = true;
} else {
// Callback wasn't necessary, cleaning up
_waitingCallbacks.remove(pxeMex.getMessageExchangeId());
@@ -87,9 +89,12 @@
// Hopefully we have a response
__log.debug("Handling response for MEX " + pxeMex);
- onResponse(pxeMex, envelope);
-
- success = true;
+ if (timeout) {
+ __log.error("Timeout when waiting for response to MEX " + pxeMex);
+ } else {
+ onResponse(pxeMex, envelope);
+ success = true;
+ }
} else {
__log.error("PXE MEX " + pxeMex + " was unroutable.");
}
@@ -104,7 +109,7 @@
throw new AxisFault("Commit failed!", e);
}
} else {
- __log.debug("Rolling back PXE MEX " + pxeMex );
+ __log.error("Rolling back PXE MEX " + pxeMex );
try {
_txManager.rollback();
} catch (Exception e) {
@@ -130,7 +135,7 @@
case FAULT:
throw new AxisFault(null, mex.getFault(), null, null, OMUtils.toOM(mex.getFaultResponse().getMessage()));
case RESPONSE:
- fillEnvelope(mex.getResponse(), envelope);
+ fillEnvelope(mex, envelope);
break;
case FAILURE:
// TODO: get failure codes out of the message.
@@ -166,10 +171,16 @@
dest.setMessage(pxemsg);
}
- private void fillEnvelope(Message resp, SOAPEnvelope envelope) throws AxisFault {
+ private void fillEnvelope(MyRoleMessageExchange mex, SOAPEnvelope envelope) throws AxisFault {
+ Message resp = mex.getResponse();
+ // TODO Handle messages style
+ OMElement responseRoot =
+ envelope.getOMFactory().createOMElement(mex.getOperation().getName() + "Response", null);
+ envelope.getBody().addChild(responseRoot);
+
Element srcPartEl = DOMUtils.getFirstChildElement(resp.getMessage());
while (srcPartEl != null) {
- envelope.getBody().addChild(OMUtils.toOM(srcPartEl));
+ responseRoot.addChild(OMUtils.toOM(srcPartEl));
srcPartEl = DOMUtils.getNextSiblingElement(srcPartEl);
}
}
Modified: incubator/ode/scratch/pxe-iapi/axis/src/main/java/com/fs/pxe/axis/hooks/PXEMessageReceiver.java
URL: http://svn.apache.org/viewvc/incubator/ode/scratch/pxe-iapi/axis/src/main/java/com/fs/pxe/axis/hooks/PXEMessageReceiver.java?rev=420016&r1=420015&r2=420016&view=diff
==============================================================================
--- incubator/ode/scratch/pxe-iapi/axis/src/main/java/com/fs/pxe/axis/hooks/PXEMessageReceiver.java (original)
+++ incubator/ode/scratch/pxe-iapi/axis/src/main/java/com/fs/pxe/axis/hooks/PXEMessageReceiver.java Fri Jul 7 16:55:07 2006
@@ -31,6 +31,11 @@
MessageContext outMsgContext = Utils.createOutMessageContext(msgContext);
outMsgContext.getOperationContext().addMessageContext(outMsgContext);
invokeBusinessLogic(msgContext, outMsgContext);
+ if (__log.isDebugEnabled()) {
+ __log.debug("Reply for " + msgContext.getAxisService().getName() +
+ "." + msgContext.getAxisOperation().getName());
+ __log.debug("Reply message " + outMsgContext.getEnvelope());
+ }
AxisEngine engine = new AxisEngine(
msgContext.getOperationContext().getServiceContext().getConfigurationContext());
engine.send(outMsgContext);
Modified: incubator/ode/scratch/pxe-iapi/bpel-api/src/main/java/com/fs/pxe/bpel/epr/EndpointFactory.java
URL: http://svn.apache.org/viewvc/incubator/ode/scratch/pxe-iapi/bpel-api/src/main/java/com/fs/pxe/bpel/epr/EndpointFactory.java?rev=420016&r1=419390&r2=420016&view=diff
==============================================================================
--- incubator/ode/scratch/pxe-iapi/bpel-api/src/main/java/com/fs/pxe/bpel/epr/EndpointFactory.java (original)
+++ incubator/ode/scratch/pxe-iapi/bpel-api/src/main/java/com/fs/pxe/bpel/epr/EndpointFactory.java Fri Jul 7 16:55:07 2006
@@ -1,16 +1,21 @@
-package com.fs.pxe.axis.epr;
+package com.fs.pxe.bpel.epr;
import com.fs.utils.Namespaces;
-import org.w3c.dom.Node;
+import com.fs.utils.DOMUtils;
+import org.w3c.dom.Element;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
import javax.xml.namespace.QName;
import java.util.Map;
/**
- * Factory for {@link com.fs.pxe.sfwk.core.ServiceEndpoint} implementations.
+ * Factory for {@link com.fs.pxe.bpel.iapi.EndpointReference} implementations.
*/
public class EndpointFactory {
+ private static final Log __log = LogFactory.getLog(EndpointFactory.class);
+
private static QName WSDL20_ELMT_QNAME = new QName(Namespaces.WSDL_20, "service");
private static QName WSDL11_ELMT_QNAME = new QName(Namespaces.WSDL_11, "service");
private static QName WSA_ELMT_QNAME = new QName(Namespaces.WS_ADDRESSING_NS, "EndpointReference");
@@ -22,12 +27,13 @@
/**
* Creates a ServiceEndpoint using the provided Node. The actual endpoint
* type is detected using the endpoint node (text or element qname).
- * @param endpointNode
+ * @param endpointElmt
* @return the new ServiceEndpoint
*/
- public static MutableEndpoint createEndpoint(Node endpointNode) {
+ public static MutableEndpoint createEndpoint(Element endpointElmt) {
for (MutableEndpoint endpoint : EndpointFactory.ENDPOINTS) {
- if (endpoint.accept(endpointNode)) {
+ // Eliminating the service-ref element for accept
+ if (endpoint.accept(endpointElmt)) {
MutableEndpoint se;
try {
se = endpoint.getClass().newInstance();
@@ -36,10 +42,11 @@
} catch (IllegalAccessException e) {
throw new RuntimeException(e);
}
- se.set(endpointNode);
+ se.set(endpointElmt);
return se;
}
}
+ __log.warn("Couldnt create any endpoint for element " + DOMUtils.domToString(endpointElmt));
return null;
}
@@ -47,11 +54,11 @@
* Convert an EPR element into another EPR using the provided target type. The target
* type is actually the qualified name of the root element for the target EPR (i.e
* wsa:MutableEndpoint, wsdl:service) or null to convert to a simple URL.
- * @param sourceEndpoint
* @param targetElmtType QName to convert to
+ * @param sourceEndpoint
* @return the converted MutableEndpoint
*/
- public static MutableEndpoint convert(Node sourceEndpoint, QName targetElmtType) {
+ public static MutableEndpoint convert(QName targetElmtType, Element sourceEndpoint) {
MutableEndpoint targetEpr;
MutableEndpoint sourceEpr = EndpointFactory.createEndpoint(sourceEndpoint);
Map transfoMap = sourceEpr.toMap();
@@ -71,6 +78,11 @@
}
targetEpr.fromMap(transfoMap);
+ if (__log.isDebugEnabled()) {
+ __log.debug("Converted endpoint to type " + targetElmtType);
+ __log.debug("Source endpoint " + DOMUtils.domToString(sourceEndpoint));
+ __log.debug("Destination endpoint " + DOMUtils.domToString(targetEpr.toXML()));
+ }
return targetEpr;
}
}
Modified: incubator/ode/scratch/pxe-iapi/bpel-api/src/main/java/com/fs/pxe/bpel/epr/MutableEndpoint.java
URL: http://svn.apache.org/viewvc/incubator/ode/scratch/pxe-iapi/bpel-api/src/main/java/com/fs/pxe/bpel/epr/MutableEndpoint.java?rev=420016&r1=419390&r2=420016&view=diff
==============================================================================
--- incubator/ode/scratch/pxe-iapi/bpel-api/src/main/java/com/fs/pxe/bpel/epr/MutableEndpoint.java (original)
+++ incubator/ode/scratch/pxe-iapi/bpel-api/src/main/java/com/fs/pxe/bpel/epr/MutableEndpoint.java Fri Jul 7 16:55:07 2006
@@ -1,4 +1,4 @@
-package com.fs.pxe.axis.epr;
+package com.fs.pxe.bpel.epr;
import com.fs.pxe.bpel.iapi.EndpointReference;
import org.w3c.dom.Node;
Modified: incubator/ode/scratch/pxe-iapi/bpel-api/src/main/java/com/fs/pxe/bpel/epr/URLEndpoint.java
URL: http://svn.apache.org/viewvc/incubator/ode/scratch/pxe-iapi/bpel-api/src/main/java/com/fs/pxe/bpel/epr/URLEndpoint.java?rev=420016&r1=419390&r2=420016&view=diff
==============================================================================
--- incubator/ode/scratch/pxe-iapi/bpel-api/src/main/java/com/fs/pxe/bpel/epr/URLEndpoint.java (original)
+++ incubator/ode/scratch/pxe-iapi/bpel-api/src/main/java/com/fs/pxe/bpel/epr/URLEndpoint.java Fri Jul 7 16:55:07 2006
@@ -1,4 +1,4 @@
-package com.fs.pxe.axis.epr;
+package com.fs.pxe.bpel.epr;
import com.fs.utils.DOMUtils;
import com.fs.utils.Namespaces;
@@ -34,6 +34,13 @@
Element elmt = (Element)node;
if (elmt.getLocalName().equals("address") && elmt.getNamespaceURI().equals(Namespaces.SOAP_NS))
return true;
+ if (elmt.getLocalName().equals("service-ref") && elmt.getNamespaceURI().equals(Namespaces.WS_BPEL_20_NS)) {
+ if (DOMUtils.getFirstChildElement(elmt) == null)
+ return true;
+ elmt = DOMUtils.getFirstChildElement(elmt);
+ if (elmt.getLocalName().equals("address") && elmt.getNamespaceURI().equals(Namespaces.SOAP_NS))
+ return true;
+ }
}
return false;
}
@@ -42,13 +49,23 @@
if (node.getNodeType() == Node.TEXT_NODE) _url = ((Text)node).getWholeText();
else if (node.getNodeType() == Node.ELEMENT_NODE) {
Element elmt = (Element)node;
- _url = elmt.getAttribute("location");
+ if (elmt.getNamespaceURI().equals(Namespaces.SOAP_NS))
+ _url = elmt.getAttribute("location");
+ else if (elmt.getNamespaceURI().equals(Namespaces.WS_BPEL_20_NS)) {
+ if (DOMUtils.getFirstChildElement(elmt) == null)
+ _url = elmt.getTextContent();
+ else {
+ elmt = DOMUtils.getFirstChildElement(elmt);
+ _url = elmt.getAttribute("location");
+ }
+ }
}
}
public Document toXML() {
Document doc = DOMUtils.newDocument();
Element serviceRef = doc.createElementNS(SERVICE_REF_QNAME.getNamespaceURI(), SERVICE_REF_QNAME.getLocalPart());
+ doc.appendChild(serviceRef);
Node urlNode = doc.createTextNode(_url);
serviceRef.appendChild(urlNode);
return doc;
Modified: incubator/ode/scratch/pxe-iapi/bpel-api/src/main/java/com/fs/pxe/bpel/epr/WSAEndpoint.java
URL: http://svn.apache.org/viewvc/incubator/ode/scratch/pxe-iapi/bpel-api/src/main/java/com/fs/pxe/bpel/epr/WSAEndpoint.java?rev=420016&r1=419390&r2=420016&view=diff
==============================================================================
--- incubator/ode/scratch/pxe-iapi/bpel-api/src/main/java/com/fs/pxe/bpel/epr/WSAEndpoint.java (original)
+++ incubator/ode/scratch/pxe-iapi/bpel-api/src/main/java/com/fs/pxe/bpel/epr/WSAEndpoint.java Fri Jul 7 16:55:07 2006
@@ -1,4 +1,4 @@
-package com.fs.pxe.axis.epr;
+package com.fs.pxe.bpel.epr;
import com.fs.utils.DOMUtils;
import com.fs.utils.Namespaces;
@@ -17,21 +17,6 @@
private Element _eprElmt;
- public WSAEndpoint() {
- }
-
- public WSAEndpoint(String url, String sessionId) {
- Document doc = DOMUtils.newDocument();
- _eprElmt = doc.createElementNS(Namespaces.WS_ADDRESSING_NS, "EndpointReference");
- Element addrElmt = doc.createElementNS(Namespaces.WS_ADDRESSING_NS, "Address");
- addrElmt.setTextContent(url);
- Element sessElmt = doc.createElementNS(Namespaces.INTALIO_SESSION_NS, "identifier");
- sessElmt.setTextContent(sessionId);
- _eprElmt.appendChild(addrElmt);
- _eprElmt.appendChild(sessElmt);
- doc.appendChild(_eprElmt);
- }
-
public String getSessionId() {
NodeList idNodes = _eprElmt.getElementsByTagNameNS(Namespaces.INTALIO_SESSION_NS, "identifier");
if (idNodes.getLength() > 0) return idNodes.item(0).getTextContent();
@@ -65,6 +50,8 @@
public boolean accept(Node node) {
if (node.getNodeType() == Node.ELEMENT_NODE) {
Element elmt = (Element)node;
+ if (elmt.getLocalName().equals("service-ref") && elmt.getNamespaceURI().equals(Namespaces.WS_BPEL_20_NS))
+ elmt= DOMUtils.getFirstChildElement(elmt);
if (elmt.getLocalName().equals("EndpointReference") && elmt.getNamespaceURI().equals(Namespaces.WS_ADDRESSING_NS))
return true;
}
@@ -79,6 +66,11 @@
}
public Document toXML() {
+ // Wrapping
+ Document doc = DOMUtils.newDocument();
+ Element serviceRef = doc.createElementNS(Namespaces.WS_BPEL_20_NS, "service-ref");
+ doc.appendChild(serviceRef);
+ serviceRef.appendChild(doc.importNode(_eprElmt, true));
return _eprElmt.getOwnerDocument();
}
@@ -93,6 +85,7 @@
public void fromMap(Map eprMap) {
Document doc = DOMUtils.newDocument();
Element serviceRef = doc.createElementNS(SERVICE_REF_QNAME.getNamespaceURI(), SERVICE_REF_QNAME.getLocalPart());
+ doc.appendChild(serviceRef);
_eprElmt = doc.createElementNS(Namespaces.WS_ADDRESSING_NS, "EndpointReference");
serviceRef.appendChild(_eprElmt);
Element addrElmt = doc.createElementNS(Namespaces.WS_ADDRESSING_NS, "Address");
@@ -103,6 +96,5 @@
_eprElmt.appendChild(sessElmt);
}
_eprElmt.appendChild(addrElmt);
- doc.appendChild(_eprElmt);
}
}
Copied: incubator/ode/scratch/pxe-iapi/bpel-api/src/main/java/com/fs/pxe/bpel/epr/WSDL11Endpoint.java (from r419925, incubator/ode/scratch/pxe-iapi/axis/src/main/java/com/fs/pxe/axis/epr/WSDL11Endpoint.java)
URL: http://svn.apache.org/viewvc/incubator/ode/scratch/pxe-iapi/bpel-api/src/main/java/com/fs/pxe/bpel/epr/WSDL11Endpoint.java?p2=incubator/ode/scratch/pxe-iapi/bpel-api/src/main/java/com/fs/pxe/bpel/epr/WSDL11Endpoint.java&p1=incubator/ode/scratch/pxe-iapi/axis/src/main/java/com/fs/pxe/axis/epr/WSDL11Endpoint.java&r1=419925&r2=420016&rev=420016&view=diff
==============================================================================
--- incubator/ode/scratch/pxe-iapi/axis/src/main/java/com/fs/pxe/axis/epr/WSDL11Endpoint.java (original)
+++ incubator/ode/scratch/pxe-iapi/bpel-api/src/main/java/com/fs/pxe/bpel/epr/WSDL11Endpoint.java Fri Jul 7 16:55:07 2006
@@ -1,4 +1,4 @@
-package com.fs.pxe.axis.epr;
+package com.fs.pxe.bpel.epr;
import com.fs.utils.DOMUtils;
import com.fs.utils.Namespaces;
@@ -29,9 +29,10 @@
public boolean accept(Node node) {
if (node.getNodeType() == Node.ELEMENT_NODE) {
Element elmt = (Element) node;
+ if (elmt.getLocalName().equals("service-ref") && elmt.getNamespaceURI().equals(Namespaces.WS_BPEL_20_NS))
+ elmt= DOMUtils.getFirstChildElement(elmt);
if (elmt.getLocalName().equals("service") && elmt.getNamespaceURI().equals(Namespaces.WSDL_11))
- if (elmt.getElementsByTagNameNS(Namespaces.SOAP_NS, "address").getLength() > 0)
- return true;
+ return true;
}
return false;
}
@@ -44,6 +45,11 @@
}
public Document toXML() {
+ // Wrapping
+ Document doc = DOMUtils.newDocument();
+ Element serviceRef = doc.createElementNS(Namespaces.WS_BPEL_20_NS, "service-ref");
+ doc.appendChild(serviceRef);
+ serviceRef.appendChild(doc.importNode(_serviceElmt, true));
return _serviceElmt.getOwnerDocument();
}
@@ -60,6 +66,7 @@
public void fromMap(Map eprMap) {
Document doc = DOMUtils.newDocument();
Element serviceRef = doc.createElementNS(SERVICE_REF_QNAME.getNamespaceURI(), SERVICE_REF_QNAME.getLocalPart());
+ doc.appendChild(serviceRef);
_serviceElmt = doc.createElementNS(Namespaces.WSDL_11, "service");
serviceRef.appendChild(_serviceElmt);
if (eprMap.get(SERVICE_QNAME) != null) {
Modified: incubator/ode/scratch/pxe-iapi/bpel-api/src/main/java/com/fs/pxe/bpel/epr/WSDL20Endpoint.java
URL: http://svn.apache.org/viewvc/incubator/ode/scratch/pxe-iapi/bpel-api/src/main/java/com/fs/pxe/bpel/epr/WSDL20Endpoint.java?rev=420016&r1=419390&r2=420016&view=diff
==============================================================================
--- incubator/ode/scratch/pxe-iapi/bpel-api/src/main/java/com/fs/pxe/bpel/epr/WSDL20Endpoint.java (original)
+++ incubator/ode/scratch/pxe-iapi/bpel-api/src/main/java/com/fs/pxe/bpel/epr/WSDL20Endpoint.java Fri Jul 7 16:55:07 2006
@@ -1,4 +1,4 @@
-package com.fs.pxe.axis.epr;
+package com.fs.pxe.bpel.epr;
import com.fs.utils.DOMUtils;
import com.fs.utils.Namespaces;
@@ -56,9 +56,10 @@
public boolean accept(Node node) {
if (node.getNodeType() == Node.ELEMENT_NODE) {
Element elmt = (Element) node;
+ if (elmt.getLocalName().equals("service-ref") && elmt.getNamespaceURI().equals(Namespaces.WS_BPEL_20_NS))
+ elmt= DOMUtils.getFirstChildElement(elmt);
if (elmt.getLocalName().equals("service") && elmt.getNamespaceURI().equals(Namespaces.WSDL_20))
- if (_serviceElmt.getElementsByTagNameNS(Namespaces.WSDL_20, "endpoint").getLength() > 0)
- return true;
+ return true;
}
return false;
}
@@ -71,7 +72,12 @@
}
public Document toXML() {
- return _serviceElmt.getOwnerDocument();
+ // Wrapping
+ Document doc = DOMUtils.newDocument();
+ Element serviceRef = doc.createElementNS(Namespaces.WS_BPEL_20_NS, "service-ref");
+ doc.appendChild(serviceRef);
+ serviceRef.appendChild(doc.importNode(_serviceElmt, true));
+ return doc;
}
public Map toMap() {
@@ -85,6 +91,7 @@
public void fromMap(Map eprMap) {
Document doc = DOMUtils.newDocument();
Element serviceRef = doc.createElementNS(SERVICE_REF_QNAME.getNamespaceURI(), SERVICE_REF_QNAME.getLocalPart());
+ doc.appendChild(serviceRef);
_serviceElmt = doc.createElementNS(Namespaces.WSDL_20, "service");
_serviceElmt.setAttribute("name", "");
_serviceElmt.setAttribute("interface", "");
Modified: incubator/ode/scratch/pxe-iapi/bpel-api/src/main/java/com/fs/pxe/bpel/iapi/EndpointReferenceContext.java
URL: http://svn.apache.org/viewvc/incubator/ode/scratch/pxe-iapi/bpel-api/src/main/java/com/fs/pxe/bpel/iapi/EndpointReferenceContext.java?rev=420016&r1=420015&r2=420016&view=diff
==============================================================================
--- incubator/ode/scratch/pxe-iapi/bpel-api/src/main/java/com/fs/pxe/bpel/iapi/EndpointReferenceContext.java (original)
+++ incubator/ode/scratch/pxe-iapi/bpel-api/src/main/java/com/fs/pxe/bpel/iapi/EndpointReferenceContext.java Fri Jul 7 16:55:07 2006
@@ -41,5 +41,13 @@
* @param epr EPR returned from {@link #activateEndpoint(QName, QName, Element)}
*/
void deactivateEndpoint(EndpointReference epr);
-
+
+ /**
+ * Converts an endpoint reference from its XML representation to another
+ * type of endpoint reference.
+ * @param targetType
+ * @param sourceEndpoint
+ * @return converted EndpointReference, being of targetType
+ */
+ EndpointReference convertEndpoint(QName targetType, Element sourceEndpoint);
}
Modified: incubator/ode/scratch/pxe-iapi/bpel-runtime/src/main/java/com/fs/pxe/bpel/engine/BpelRuntimeContextImpl.java
URL: http://svn.apache.org/viewvc/incubator/ode/scratch/pxe-iapi/bpel-runtime/src/main/java/com/fs/pxe/bpel/engine/BpelRuntimeContextImpl.java?rev=420016&r1=420015&r2=420016&view=diff
==============================================================================
--- incubator/ode/scratch/pxe-iapi/bpel-runtime/src/main/java/com/fs/pxe/bpel/engine/BpelRuntimeContextImpl.java (original)
+++ incubator/ode/scratch/pxe-iapi/bpel-runtime/src/main/java/com/fs/pxe/bpel/engine/BpelRuntimeContextImpl.java Fri Jul 7 16:55:07 2006
@@ -90,11 +90,11 @@
private BpelProcess _bpelProcess;
/** Five second maximum for continous execution. */
- private long _maxReductionTimeMs = 5000;
+ private long _maxReductionTimeMs = 20000;
public BpelRuntimeContextImpl(BpelProcess bpelProcess,
- ProcessInstanceDAO dao, PROCESS PROCESS,
- MyRoleMessageExchangeImpl instantiatingMessageExchange) {
+ ProcessInstanceDAO dao, PROCESS PROCESS,
+ MyRoleMessageExchangeImpl instantiatingMessageExchange) {
_bpelProcess = bpelProcess;
_dao = dao;
_iid = dao.getInstanceId();
@@ -146,7 +146,7 @@
}
public boolean isEndpointReferenceInitialized(PartnerLinkInstance pLink,
- boolean isMyEpr) {
+ boolean isMyEpr) {
ScopeDAO scopeDAO = _dao.getScope(pLink.scopeInstanceId);
PartnerLinkDAO spl = scopeDAO.getPartnerLink(pLink.partnerLink.getId());
PartnerLinkDAO ppl = scopeDAO.getProcessInstance().getProcess()
@@ -225,7 +225,7 @@
}
public void initializePartnerLinks(Long parentScopeId,
- Collection<OPartnerLink> partnerLinks) {
+ Collection<OPartnerLink> partnerLinks) {
if (BpelProcess.__log.isTraceEnabled()) {
BpelProcess.__log.trace(ObjectPrinter.stringifyMethodEnter(
@@ -240,7 +240,7 @@
}
public void select(PickResponseChannel pickResponseChannel, Date timeout,
- boolean createInstance, Selector[] selectors) throws FaultException {
+ boolean createInstance, Selector[] selectors) throws FaultException {
if (BpelProcess.__log.isTraceEnabled())
BpelProcess.__log.trace(ObjectPrinter.stringifyMethodEnter("select",
new Object[] { "pickResponseChannel", pickResponseChannel, "timeout",
@@ -385,7 +385,7 @@
}
public Node fetchVariableData(VariableInstance var,
- OMessageVarType.Part part, boolean forWriting) throws FaultException {
+ OMessageVarType.Part part, boolean forWriting) throws FaultException {
Node container = fetchVariableData(var, forWriting);
OVarType varType = var.declaration.type;
@@ -399,7 +399,7 @@
}
public Element fetchEndpointReferenceData(PartnerLinkInstance pLink,
- boolean isMyEPR) throws FaultException {
+ boolean isMyEPR) throws FaultException {
ScopeDAO scopeDAO = _dao.getScope(pLink.scopeInstanceId);
PartnerLinkDAO spl = scopeDAO.getPartnerLink(pLink.partnerLink.getId());
PartnerLinkDAO ppl = scopeDAO.getProcessInstance().getProcess()
@@ -432,7 +432,7 @@
* in case of selection or other fault
*/
public String readProperty(VariableInstance variable,
- OProcess.OProperty property) throws FaultException {
+ OProcess.OProperty property) throws FaultException {
Node varData = fetchVariableData(variable, false);
OProcess.OPropertyAlias alias = property
@@ -459,7 +459,10 @@
}
public Element writeEndpointReference(PartnerLinkInstance variable,
- Element data) throws FaultException {
+ Element data) throws FaultException {
+ if (__log.isDebugEnabled())
+ __log.debug("Writing endpoint reference " + variable.partnerLink.getName() +
+ " with value " + DOMUtils.domToString(data));
ScopeDAO scopeDAO = _dao.getScope(variable.scopeInstanceId);
PartnerLinkDAO eprDAO = scopeDAO.getPartnerLink(variable.partnerLink
.getId());
@@ -468,7 +471,7 @@
}
public String fetchEndpointSessionId(PartnerLinkInstance pLink,
- boolean isMyEPR) throws FaultException {
+ boolean isMyEPR) throws FaultException {
Element eprElmt = (Element) fetchEndpointReferenceData(pLink, isMyEPR);
// This is rather ugly as we're assuming that the session identifier is
// always a direct
@@ -503,7 +506,7 @@
}
public Element updatePartnerEndpointReference(PartnerLinkInstance variable,
- Element data) throws FaultException {
+ Element data) throws FaultException {
ScopeDAO scopeDAO = _dao.getScope(variable.scopeInstanceId);
PartnerLinkDAO eprDAO = scopeDAO.getPartnerLink(variable.partnerLink
.getId());
@@ -512,15 +515,15 @@
}
public Node convertEndpointReference(Element sourceNode, Node targetNode) {
- return sourceNode;
- // TODO: replace the conversion logic.. where to locate??
- // if (targetNode.getNodeType() == Node.TEXT_NODE)
- // return _bpelProcess._context.convertEndpoint(sourceNode, null);
- // else {
- // QName nodeQName = new QName(targetNode.getNamespaceURI(), targetNode
- // .getLocalName());
- // return _bpelProcess._context.convertEndpoint(sourceNode, nodeQName);
- // }
+ QName nodeQName;
+ if (targetNode.getNodeType() == Node.TEXT_NODE) {
+ nodeQName = new QName(Namespaces.XML_SCHEMA, "string");
+ } else {
+ // We have an element
+ nodeQName = new QName(targetNode.getNamespaceURI(), targetNode.getLocalName());
+ }
+ return _bpelProcess._engine._contexts.eprContext
+ .convertEndpoint(nodeQName, sourceNode).toXML();
}
public void commitChanges(VariableInstance variable, Node changes) {
@@ -532,7 +535,7 @@
}
public void reply(final PartnerLinkInstance plinkInstnace,
- final String opName, final String mexId, Element msg, String fault)
+ final String opName, final String mexId, Element msg, String fault)
throws FaultException {
String mexRef = _outstandingRequests.release(plinkInstnace, opName, mexId);
@@ -581,7 +584,7 @@
* com.fs.pxe.bpel.common.CorrelationKey)
*/
public void writeCorrelation(CorrelationSetInstance cset,
- CorrelationKey correlation) {
+ CorrelationKey correlation) {
ScopeDAO scopeDAO = _dao.getScope(cset.scopeInstance);
CorrelationSetDAO cs = scopeDAO.getCorrelationSet(cset.declaration.name);
OScope.CorrelationSet csetdef = (OScope.CorrelationSet) _bpelProcess._oprocess
@@ -613,7 +616,7 @@
* DOCUMENTME
*/
public void initializeCorrelation(CorrelationSetInstance cset,
- VariableInstance variable) throws FaultException {
+ VariableInstance variable) throws FaultException {
if (BpelProcess.__log.isDebugEnabled()) {
BpelProcess.__log.debug("Initializing correlation set "
+ cset.declaration.name);
@@ -671,7 +674,7 @@
}
public String invoke(PartnerLinkInstance partnerLink, Operation operation,
- Element outgoingMessage, InvokeResponseChannel channel)
+ Element outgoingMessage, InvokeResponseChannel channel)
throws FaultException {
if (BpelProcess.__log.isDebugEnabled()) {
BpelProcess.__log.debug("invoke activity: partnerLink=" + partnerLink
@@ -721,6 +724,7 @@
mexDao.setStatus(MessageExchange.Status.REQUEST.toString());
_bpelProcess._engine._contexts.mexContext.invokePartner(mex);
} else {
+ __log.error("Couldn't find endpoint for partner EPR " + DOMUtils.domToString(partnerEPR));
mex.setFailure(FailureType.UNKNOWN_ENDPOINT, "UnknownEndpoint",
partnerEPR);
}
@@ -753,7 +757,7 @@
}
-
+
void execute() {
long maxTime = System.currentTimeMillis() + _maxReductionTimeMs;
boolean canReduce = true;
@@ -792,7 +796,7 @@
}
void inputMsgMatch(final String responsechannel, final int idx,
- MyRoleMessageExchangeImpl mex) {
+ MyRoleMessageExchangeImpl mex) {
// if we have a message match, this instance should be marked
// active if it isn't already
if (_dao.getState() == ProcessState.STATE_READY) {
@@ -940,7 +944,7 @@
* efficient lookup.
*/
private void writeProperties(VariableInstance variable, Node value,
- XmlDataDAO dao) {
+ XmlDataDAO dao) {
if (variable.declaration.type instanceof OMessageVarType) {
for (Iterator<OProcess.OProperty> iter = variable.declaration.getOwner().properties
.iterator(); iter.hasNext();) {
Modified: incubator/ode/scratch/pxe-iapi/bpel-runtime/src/main/java/com/fs/pxe/bpel/engine/ProcessDDInitializer.java
URL: http://svn.apache.org/viewvc/incubator/ode/scratch/pxe-iapi/bpel-runtime/src/main/java/com/fs/pxe/bpel/engine/ProcessDDInitializer.java?rev=420016&r1=420015&r2=420016&view=diff
==============================================================================
--- incubator/ode/scratch/pxe-iapi/bpel-runtime/src/main/java/com/fs/pxe/bpel/engine/ProcessDDInitializer.java (original)
+++ incubator/ode/scratch/pxe-iapi/bpel-runtime/src/main/java/com/fs/pxe/bpel/engine/ProcessDDInitializer.java Fri Jul 7 16:55:07 2006
@@ -5,8 +5,6 @@
import com.fs.utils.DOMUtils;
import com.fs.pxe.bpel.o.OProcess;
import com.fs.pxe.bpel.o.OPartnerLink;
-import com.fs.pxe.bpel.dd.TDeploymentDescriptor;
-import com.fs.pxe.bpel.dd.TRoles;
import com.fs.pxe.bpel.dao.ProcessDAO;
import com.fs.pxe.bpel.dao.PartnerLinkDAO;
import com.fs.pxe.bpel.iapi.BpelEngineException;
@@ -19,7 +17,6 @@
import org.apache.commons.logging.LogFactory;
import org.w3c.dom.Element;
import org.w3c.dom.Document;
-import org.w3c.dom.Text;
import javax.xml.namespace.QName;
import javax.wsdl.Service;
@@ -82,7 +79,7 @@
ProcessDDInitializer.__log.error(msg);
throw new BpelEngineException(msg);
}
- eprdao.setMyEPR(epr);
+ eprdao.setMyEPR(createServiceRef(epr));
}
}
if (_dd.getInvokeList().size() > 0) {
@@ -115,7 +112,7 @@
ProcessDDInitializer.__log.error(msg);
throw new BpelEngineException(msg);
}
- eprdao.setPartnerEPR(epr);
+ eprdao.setPartnerEPR(createServiceRef(epr));
}
}
}
@@ -180,4 +177,26 @@
newDao.addCorrelator(correlator);
}
}
+
+ /**
+ * Create-and-copy a service-ref element.
+ * @param elmt
+ * @return wrapped element
+ */
+ private Element createServiceRef(Element elmt) {
+ Document doc = DOMUtils.newDocument();
+ QName elQName = new QName(elmt.getNamespaceURI(),elmt.getLocalName());
+ // If we get a service-ref, just copy it, otherwise make a service-ref wrapper
+ if (!EndpointReference.SERVICE_REF_QNAME.equals(elQName)) {
+ Element serviceref = doc.createElementNS(EndpointReference.SERVICE_REF_QNAME.getNamespaceURI(),
+ EndpointReference.SERVICE_REF_QNAME.getLocalPart());
+ serviceref.appendChild(doc.importNode(elmt,true));
+ doc.appendChild(serviceref);
+ } else {
+ doc.appendChild(doc.importNode(elmt, true));
+ }
+
+ return doc.getDocumentElement();
+ }
+
}
Modified: incubator/ode/scratch/pxe-iapi/bpel-runtime/src/main/java/com/fs/pxe/bpel/runtime/ASSIGN.java
URL: http://svn.apache.org/viewvc/incubator/ode/scratch/pxe-iapi/bpel-runtime/src/main/java/com/fs/pxe/bpel/runtime/ASSIGN.java?rev=420016&r1=420015&r2=420016&view=diff
==============================================================================
--- incubator/ode/scratch/pxe-iapi/bpel-runtime/src/main/java/com/fs/pxe/bpel/runtime/ASSIGN.java (original)
+++ incubator/ode/scratch/pxe-iapi/bpel-runtime/src/main/java/com/fs/pxe/bpel/runtime/ASSIGN.java Fri Jul 7 16:55:07 2006
@@ -139,7 +139,7 @@
OAssign.VariableRef varRef = (OAssign.VariableRef) from;
Node data = getBpelRuntimeContext().fetchVariableData(
_scopeFrame.resolve(varRef.variable), false);
- retVal = evalQuery(data, varRef.part, varRef.location,
+ retVal = evalQuery(data, varRef.part, varRef.location,
getEvaluationContext());
} else if (from instanceof OAssign.PropertyRef) {
OAssign.PropertyRef propRef = (OAssign.PropertyRef) from;
@@ -361,6 +361,8 @@
// Sneakily converting the EPR if it's not the format expected by the lvalue
if (ocopy.from instanceof OAssign.PartnerLinkRef) {
rvalue = getBpelRuntimeContext().convertEndpointReference((Element)rvalue, lvaluePtr);
+ if (rvalue.getNodeType() == Node.DOCUMENT_NODE)
+ rvalue = ((Document)rvalue).getDocumentElement();
}
if (rvalue.getNodeType() == Node.ELEMENT_NODE
@@ -373,6 +375,9 @@
}
final VariableInstance lval = _scopeFrame.resolve(ocopy.to
.getVariable());
+ if (__log.isDebugEnabled())
+ __log.debug("ASSIGN Writing variable" + lval.declaration.name +
+ " value " + DOMUtils.domToString(lvalue));
napi.commitChanges(lval, lvalue);
}
}
@@ -393,7 +398,7 @@
}
private void replaceEndpointRefence(PartnerLinkInstance plval, Node rvalue) throws FaultException {
- // If variable is a simple type, we can get a type wrapper here (like xs:string
+ // If variable is a simple type, we will get a type wrapper here (like xs:string
// or xs:uri), it's eliminated here.
if (rvalue.getNamespaceURI() != null && rvalue.getNamespaceURI().equals(Namespaces.XML_SCHEMA)) {
// Getting a non-empty text node
@@ -405,17 +410,15 @@
}
}
- // Eventually eliminating the unnecessary service-ref wrapper
- if (rvalue.getNodeType() == Node.ELEMENT_NODE) {
- Element relmt = (Element) rvalue;
- if (relmt.getNamespaceURI().equals(Namespaces.WS_BPEL_20_NS) && relmt.getLocalName().equals("service-ref"))
- rvalue = DOMUtils.getFirstChildElement(relmt);
+ // Eventually wrapping with service-ref element if we've been directly assigned some
+ // value that isn't wrapped.
+ if (rvalue.getNodeType() == Node.TEXT_NODE ||
+ (rvalue.getNodeType() == Node.ELEMENT_NODE && !rvalue.getLocalName().equals("service-ref"))) {
+ Document doc = DOMUtils.newDocument();
+ Element serviceRef = doc.createElementNS(Namespaces.WS_BPEL_20_NS, "service-ref");
+ serviceRef.appendChild(doc.importNode(rvalue, true));
+ rvalue = serviceRef;
}
-
- // TODO: replace
-// if (!getBpelRuntimeContext().isEndpointValid(rvalue))
-// throw new FaultException(getOAsssign().getOwner().constants.qnSelectionFailure,
-// "The assigned node doesn't look like a correct endpoint reference supported for partnerLink assignment.");
getBpelRuntimeContext().writeEndpointReference(plval, (Element)rvalue);
}
Modified: incubator/ode/scratch/pxe-iapi/jbi/src/main/java/com/fs/pxe/jbi/EndpointReferenceContextImpl.java
URL: http://svn.apache.org/viewvc/incubator/ode/scratch/pxe-iapi/jbi/src/main/java/com/fs/pxe/jbi/EndpointReferenceContextImpl.java?rev=420016&r1=420015&r2=420016&view=diff
==============================================================================
--- incubator/ode/scratch/pxe-iapi/jbi/src/main/java/com/fs/pxe/jbi/EndpointReferenceContextImpl.java (original)
+++ incubator/ode/scratch/pxe-iapi/jbi/src/main/java/com/fs/pxe/jbi/EndpointReferenceContextImpl.java Fri Jul 7 16:55:07 2006
@@ -13,6 +13,7 @@
import com.fs.pxe.bpel.iapi.ContextException;
import com.fs.pxe.bpel.iapi.EndpointReference;
import com.fs.pxe.bpel.iapi.EndpointReferenceContext;
+import com.fs.pxe.bpel.epr.EndpointFactory;
import com.fs.utils.DOMUtils;
/**
@@ -79,5 +80,9 @@
}
}
-
+ public EndpointReference convertEndpoint(QName qName, Element element) {
+ EndpointReference endpoint = EndpointFactory.convert(qName, element);
+ // Forcing JBI lookup
+ return resolveEndpointReference(endpoint.toXML().getDocumentElement());
+ }
}
Modified: incubator/ode/scratch/pxe-iapi/sp-bpel/src/main/java/com/fs/pxe/bpel/provider/URLEndpointReferenceImpl.java
URL: http://svn.apache.org/viewvc/incubator/ode/scratch/pxe-iapi/sp-bpel/src/main/java/com/fs/pxe/bpel/provider/URLEndpointReferenceImpl.java?rev=420016&r1=420015&r2=420016&view=diff
==============================================================================
--- incubator/ode/scratch/pxe-iapi/sp-bpel/src/main/java/com/fs/pxe/bpel/provider/URLEndpointReferenceImpl.java (original)
+++ incubator/ode/scratch/pxe-iapi/sp-bpel/src/main/java/com/fs/pxe/bpel/provider/URLEndpointReferenceImpl.java Fri Jul 7 16:55:07 2006
@@ -42,6 +42,7 @@
Document doc = DOMUtils.newDocument();
Element serviceRef =
doc.createElementNS(SERVICE_REF_QNAME.getNamespaceURI(), SERVICE_REF_QNAME.getLocalPart());
+ doc.appendChild(serviceRef);
Element soapAddress = doc.createElementNS(SOAP_ADDR_EL.getNamespaceURI(), SOAP_ADDR_EL.getLocalPart());
soapAddress.setAttribute("location", _url.toExternalForm());
doc.appendChild(serviceRef);