Hello Alex,

I have chosed the second alternative. I was trying to let the jbpm.bpel module 
to read the received SOAPMessage:

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"; 
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xmlns:xsd="http://www.w3.org/2001/XMLSchema";>
  |     <SOAP-ENV:Body>
  |             <m:apply xmlns:m="urn:samples:loanapproval">
  |                     <loanRequestParameters>
  |                             <firstName>Bertrand</firstName>
  |                             <lastName>Njipwo</lastName>
  |                             <amount>1000</amount>
  |                     </loanRequestParameters>
  |             </m:apply>
  |     </SOAP-ENV:Body>
  | </SOAP-ENV:Envelope>

In PortConsumer.java the following lines:

SOAPElement operationElem = XmlUtil.getElement(envelope.getBody());
  |  Map outputParts = new HashMap();
  |     // fill in part values
  |     Iterator partIt = parts.iterator();
  |     while (partIt.hasNext()) {
  |       Part part = (Part) partIt.next();
  |       String partName = part.getName();
  |       // get part accessor from operation wrapper 
  |       SOAPElement operPartAccessor = XmlUtil.getElement(operationElem, 
partName);
  |       // create part accessor in output message
  |       Element outputPartAccessor = XmlUtil.createElement(null, partName);
  |       outputParts.put(partName, outputPartAccessor);
  |       // copy operation part to output part
  |       operPartAccessor.getValue();
  |       XmlUtil.copy(outputPartAccessor, operPartAccessor);
  |     }
  |     return outputParts;
  | 
 will copy the informations of the SOAPElement operPartAcessor to the 
outputPartAccessor and therefore retrieve the value received from the remote 
service and with that value initialise the outputPartAccessor-object. 

But i'm falling at: XmlUtil.copy(outputPartAccessor, operPartAccessor); 
If i call any methode on operPartAccessor it raises a NullpointerException.

That why after this call the highlighted  methodes also throw the same 
Exception.

 public static void copy(Element target, SOAPElement source) {
  |     // attributes
  |     removeAttributes(target);
  | copyAttributes(target, source);    
  |     // all namespaces
  |     copyVisibleNamespaces(target, source);
  |     // child nodes
  |     removeChildNodes(target);
  | copyChildNodes(target, source);
  |     if (log.isTraceEnabled()) log.trace("copied element: " + 
source.getNodeName());
  |   }

So copyAttributes will fail because the SOAPElement operPartAccessor has no 
Attributes. One question:  (Which methode give the value of the 
operPartAccessort ? I have tried with to manipulate the operPartAccessort  as 
DOM object by call getChildrens(), but its always fail).

My question is how could i get the value true of true in the following message 
send by the remote server: <soapenv:Envelope 
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"; 
xmlns:xsd="http://www.w3.org/2001/XMLSchema"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";>
  |     <soapenv:Body>
  |             <validCustomerResponse xmlns="urn:samples:schufa">
  |                     <validCustomerReturn>true</validCustomerReturn>
  |             </validCustomerResponse>
  |     </soapenv:Body>
  | </soapenv:Envelope>

I have comment out the following line in PortConsumer.java: 
XmlUtil.copy(outputPartAccessor, operPartAccessor); so i can achieve a 
"cleaned" process excecution  and so i can make some performance measurements 
during the process execution. This is a temporary solution to be able to work. 
After doing this i become the following message:

<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/";>
  |     <env:Header/>
  |     <env:Body>
  |             <m:applyResponse xmlns:m="urn:examples:loanapproval">
  |                     <loanResponse>
  |                             <approved/>
  |                     </loanResponse>
  |             </m:applyResponse>
  |     </env:Body>
  | </env:Envelope>

Alex why i can't copy the desired value the remote service send me in my BPEL 
process.

Thanks once again for your help and the time you invest.

Regards

Bertrand


View the original post : 
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3999710#3999710

Reply to the post : 
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3999710
_______________________________________________
jboss-user mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/jboss-user

Reply via email to