Mixed encoding in soap message reply

I am trying to send a soap message to a service that uses UTF-16 encoding. I sent a UTF-8 encoded request. The reply was UTF-8 but the body was UTF-16.
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<SOAP-ENV:Body>
<SOAPSDK1:GetCountryStateAreaResponse xmlns:SOAPSDK1="http://tempuri.org/message/">
<Result xmlns:SOAPSDK2="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAPSDK3="http://www.w3.org/2001/XMLSchema" SOAPSDK2:type="SOAPSDK3:string"><?xml version="1.0" encoding="UTF-16" ?><atdw_data_results><country id="500001" code="AU" name="Australia" isd_code="61" states_allowed_flag="1" product_id="503928"><state id="500006" code="TAS" name="Tasmania"><area id="500361" code="NNE">North - North East</area><area id="500362" code="NW">North West</area><area id="500363" code="S">South</area></state></country></atdw_data_results></Result>
</SOAPSDK1:GetCountryStateAreaResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
I used an xslt transform to indent the xml but it could only understand the UTF-8 soap envelope.
Should I encode the request in UTF-16 and how can this be done in SAAJ ?
Should I try Apache Soap instead ? It seems very difficult to extract the body of the message using SAAJ.
Thanks
Bill

I have got it to work with Apache Soap. Much simpler to extract the reply body from the soap message too.
Bill

Similar Messages

  • PI 7.0 SOAP message reply HTTP 500 and after the fault message

    Hello Everybody,
    I have the scenario RFC -> XI -> SOAP in synchronous mode.
    I use for the mapping XSLT because I have to put some dynamic data comming from the RFC in the header of envelope.
    At level of adapter receiver SOAP , I flag the "do not use envelop"
    In normal, that works .
    When the is an fonctionnal error in SOAP service, it sends me back an error HTTP 500 and afterwards the fault message in a soap envelop format. In that case, how can I pass over this error to treat the envelop because in adapter, it is stopped and it returns a short dump to the RFC.
    Is there somebody who can help me with this problem ?
    Thanks in adavance for your answers .
    Regards.
    Eric.

    Hi,
    In case of a SOAP error while processing the request, the SOAP HTTP server MUST issue an HTTP 500 "Internal Server Error" response and include a SOAP message in the response containing a SOAP Fault element
    Thanks,
    RamuV

  • Plz help Error in encoding Soap Message

    hii,
    im new to web services ,im doing a test application using netbeans 5.5 which retrieves some information from database.Its working fine if i return eother a string or a list of strings from webservice method.
    But if im using a user defined datatype as return value its giving follwing error
    SEVERE: Error in encoding SOAP Message
    Error in encoding SOAP Message
    at com.sun.xml.ws.encoding.soap.server.SOAPXMLEncoder.toSOAPMessage(SOAPXMLEncoder.java:113)
    at com.sun.xml.ws.handler.SOAPMessageContextImpl.getMessage(SOAPMessageContextImpl.java:97)
    at org.handler.PropertyMessageHandler.handleMessage(PropertyMessageHandler.java:27)
    at org.handler.PropertyMessageHandler.handleMessage(PropertyMessageHandler.java:24)
    at com.sun.xml.ws.handler.HandlerChainCaller.callProtocolHandlers(HandlerChainCaller.java:675)
    at com.sun.xml.ws.handler.HandlerChainCaller.internalCallHandlers(HandlerChainCaller.java:444)
    at com.sun.xml.ws.handler.HandlerChainCaller.callHandlers(HandlerChainCaller.java:374)
    at com.sun.xml.ws.protocol.soap.server.SOAPMessageDispatcher.callHandlersOnResponse(SOAPMessageDispatcher.java:448)
    at com.sun.xml.ws.protocol.soap.server.SOAPMessageDispatcher.getResponse(SOAPMessageDispatcher.java:307)
    at com.sun.xml.ws.protocol.soap.server.SOAPMessageDispatcher$SoapInvoker.invoke(SOAPMessageDispatcher.java:601)
    at com.sun.xml.ws.protocol.soap.server.SOAPMessageDispatcher.receive(SOAPMessageDispatcher.java:141)
    at com.sun.xml.ws.server.Tie.handle(Tie.java:88)
    at com.sun.xml.ws.transport.http.servlet.WSServletDelegate.handle(WSServletDelegate.java:333)
    at com.sun.xml.ws.transport.http.servlet.WSServletDelegate.doPost(WSServletDelegate.java:288)
    at com.sun.xml.ws.transport.http.servlet.WSServlet.doPost(WSServlet.java:77)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    at org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:362)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:744)
    at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
    at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
    at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
    at java.lang.Thread.run(Thread.java:595)
    Caused by: javax.xml.bind.MarshalException
    - with linked exception:
    [javax.xml.bind.JAXBException: org.bean.PropertyBean nor any of its super class is known to this context]
    at com.sun.xml.ws.encoding.jaxb.JAXBBridgeInfo.serialize(JAXBBridgeInfo.java:88)
    at com.sun.xml.ws.encoding.soap.SOAPEncoder.writeJAXBBridgeInfo(SOAPEncoder.java:252)
    at com.sun.xml.ws.encoding.soap.SOAPEncoder.writeBody(SOAPEncoder.java:569)
    at com.sun.xml.ws.encoding.soap.server.SOAPXMLEncoder.toSOAPMessage(SOAPXMLEncoder.java:95)
    ... 33 more
    Caused by: javax.xml.bind.MarshalException
    - with linked exception:
    [javax.xml.bind.JAXBException: org.bean.PropertyBean nor any of its super class is known to this context]
    at com.sun.xml.bind.v2.runtime.MarshallerImpl.write(MarshallerImpl.java:246)
    at com.sun.xml.bind.v2.runtime.BridgeImpl.marshal(BridgeImpl.java:64)
    at com.sun.xml.bind.api.Bridge.marshal(Bridge.java:86)
    at com.sun.xml.ws.encoding.jaxb.JAXBBridgeInfo.serialize(JAXBBridgeInfo.java:86)
    ... 36 more
    Caused by: javax.xml.bind.JAXBException: org.bean.PropertyBean nor any of its super class is known to this context
    at com.sun.xml.bind.v2.runtime.XMLSerializer.reportError(XMLSerializer.java:219)
    at com.sun.xml.bind.v2.runtime.XMLSerializer.reportError(XMLSerializer.java:234)
    at com.sun.xml.bind.v2.runtime.XMLSerializer.childAsXsiType(XMLSerializer.java:562)
    at com.sun.xml.bind.v2.runtime.property.ArrayElementNodeProperty.serializeItem(ArrayElementNodeProperty.java:29)
    at com.sun.xml.bind.v2.runtime.property.ArrayElementProperty.serializeListBody(ArrayElementProperty.java:132)
    at com.sun.xml.bind.v2.runtime.property.ArrayERProperty.serializeBody(ArrayERProperty.java:101)
    at com.sun.xml.bind.v2.runtime.ClassBeanInfoImpl.serializeBody(ClassBeanInfoImpl.java:293)
    at com.sun.xml.bind.v2.runtime.XMLSerializer.childAsXsiType(XMLSerializer.java:594)
    at com.sun.xml.bind.v2.runtime.MarshallerImpl.write(MarshallerImpl.java:241)
    ... 39 more
    Caused by: javax.xml.bind.JAXBException: org.bean.PropertyBean nor any of its super class is known to this context
    at com.sun.xml.bind.v2.runtime.JAXBContextImpl.getBeanInfo(JAXBContextImpl.java:474)
    at com.sun.xml.bind.v2.runtime.XMLSerializer.childAsXsiType(XMLSerializer.java:557)
    ... 45 more
    Can any body help me im struck here for the last 2 days
    thnx
    RAJESH

    Are u sure that u correctly configure Apex (marvel.conf)?
    Have u include this file in httpd.conf?

  • Error in encoding SOAP Message

    hii,
    im new to web services ,im doing a test application using netbeans 5.5 which retrieves some information from database.Its working fine if i return eother a string or a list of strings from webservice method.
    But if im using a user defined datatype as return value its giving follwing error
    SEVERE: Error in encoding SOAP Message
    Error in encoding SOAP Message
    at com.sun.xml.ws.encoding.soap.server.SOAPXMLEncoder.toSOAPMessage(SOAPXMLEncoder.java:113)
    at com.sun.xml.ws.handler.SOAPMessageContextImpl.getMessage(SOAPMessageContextImpl.java:97)
    at org.handler.PropertyMessageHandler.handleMessage(PropertyMessageHandler.java:27)
    at org.handler.PropertyMessageHandler.handleMessage(PropertyMessageHandler.java:24)
    at com.sun.xml.ws.handler.HandlerChainCaller.callProtocolHandlers(HandlerChainCaller.java:675)
    at com.sun.xml.ws.handler.HandlerChainCaller.internalCallHandlers(HandlerChainCaller.java:444)
    at com.sun.xml.ws.handler.HandlerChainCaller.callHandlers(HandlerChainCaller.java:374)
    at com.sun.xml.ws.protocol.soap.server.SOAPMessageDispatcher.callHandlersOnResponse(SOAPMessageDispatcher.java:448)
    at com.sun.xml.ws.protocol.soap.server.SOAPMessageDispatcher.getResponse(SOAPMessageDispatcher.java:307)
    at com.sun.xml.ws.protocol.soap.server.SOAPMessageDispatcher$SoapInvoker.invoke(SOAPMessageDispatcher.java:601)
    at com.sun.xml.ws.protocol.soap.server.SOAPMessageDispatcher.receive(SOAPMessageDispatcher.java:141)
    at com.sun.xml.ws.server.Tie.handle(Tie.java:88)
    at com.sun.xml.ws.transport.http.servlet.WSServletDelegate.handle(WSServletDelegate.java:333)
    at com.sun.xml.ws.transport.http.servlet.WSServletDelegate.doPost(WSServletDelegate.java:288)
    at com.sun.xml.ws.transport.http.servlet.WSServlet.doPost(WSServlet.java:77)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    at org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:362)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:744)
    at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
    at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
    at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
    at java.lang.Thread.run(Thread.java:595)
    Caused by: javax.xml.bind.MarshalException
    - with linked exception:
    [javax.xml.bind.JAXBException: org.bean.PropertyBean nor any of its super class is known to this context]
    at com.sun.xml.ws.encoding.jaxb.JAXBBridgeInfo.serialize(JAXBBridgeInfo.java:88)
    at com.sun.xml.ws.encoding.soap.SOAPEncoder.writeJAXBBridgeInfo(SOAPEncoder.java:252)
    at com.sun.xml.ws.encoding.soap.SOAPEncoder.writeBody(SOAPEncoder.java:569)
    at com.sun.xml.ws.encoding.soap.server.SOAPXMLEncoder.toSOAPMessage(SOAPXMLEncoder.java:95)
    ... 33 more
    Caused by: javax.xml.bind.MarshalException
    - with linked exception:
    [javax.xml.bind.JAXBException: org.bean.PropertyBean nor any of its super class is known to this context]
    at com.sun.xml.bind.v2.runtime.MarshallerImpl.write(MarshallerImpl.java:246)
    at com.sun.xml.bind.v2.runtime.BridgeImpl.marshal(BridgeImpl.java:64)
    at com.sun.xml.bind.api.Bridge.marshal(Bridge.java:86)
    at com.sun.xml.ws.encoding.jaxb.JAXBBridgeInfo.serialize(JAXBBridgeInfo.java:86)
    ... 36 more
    Caused by: javax.xml.bind.JAXBException: org.bean.PropertyBean nor any of its super class is known to this context
    at com.sun.xml.bind.v2.runtime.XMLSerializer.reportError(XMLSerializer.java:219)
    at com.sun.xml.bind.v2.runtime.XMLSerializer.reportError(XMLSerializer.java:234)
    at com.sun.xml.bind.v2.runtime.XMLSerializer.childAsXsiType(XMLSerializer.java:562)
    at com.sun.xml.bind.v2.runtime.property.ArrayElementNodeProperty.serializeItem(ArrayElementNodeProperty.java:29)
    at com.sun.xml.bind.v2.runtime.property.ArrayElementProperty.serializeListBody(ArrayElementProperty.java:132)
    at com.sun.xml.bind.v2.runtime.property.ArrayERProperty.serializeBody(ArrayERProperty.java:101)
    at com.sun.xml.bind.v2.runtime.ClassBeanInfoImpl.serializeBody(ClassBeanInfoImpl.java:293)
    at com.sun.xml.bind.v2.runtime.XMLSerializer.childAsXsiType(XMLSerializer.java:594)
    at com.sun.xml.bind.v2.runtime.MarshallerImpl.write(MarshallerImpl.java:241)
    ... 39 more
    Caused by: javax.xml.bind.JAXBException: org.bean.PropertyBean nor any of its super class is known to this context
    at com.sun.xml.bind.v2.runtime.JAXBContextImpl.getBeanInfo(JAXBContextImpl.java:474)
    at com.sun.xml.bind.v2.runtime.XMLSerializer.childAsXsiType(XMLSerializer.java:557)
    ... 45 more
    Can any body help me im struck here for the last 2 days
    thnx
    RAJESH

    Hello again,
    because it seems to be a JavaScript issue, I opend this discussion in that forum: http://forums.adobe.com/message/6205851#6205851

  • Receiving a message encoded in SOAP

    Hi all.
    I have an application that sends objects encoded with SOAP to various clients. This is not done via a web service, but a standalone application. Now I want to receive these SOAP messages with a java client and use the methods of the Classes distributed with the JAXM package to parse this message. Unfortunatly I didnt found out how to get the original message into a SoapMessage object. I didnt found any method to create a SoapMessage from a string source or what ever. I can receive the message as a string and manually parse it, but thats a whole lot of work, and I think that it can be done in a better way.
    It would help me a lot, if someone could tell me, which tolls of the XML pack I should use, and maybe how.
    Thanx in advance,
    Landrus.

    If you have the entire SOAP message in an xml file, with the correct namespaces, then you can use setContents method on the SOAPPart to construct a SOAPMessage object from the xml file.
    import javax.xml.transform.StreamSource;
    Try {
    MessageFactory mf = MessageFactory.newInstance();
    SOAPMessage msg = mf.createMessage();
    SOAPPart sp = msg.getSOAPPart();
    //The line that does all the work
    sp.setContents(new StreamSource(new FileInputStream("xml.xml")));
    }catch (SOAPException e){}
    Hope this helps.

  • Encoding in WSRP message - MarkupRequestState

    Hi all!
    I have successfully executed the different samples given at this location.
    http://edocs.bea.com/wlp/docs81/wsrp/custxfer.html
    I was especially intrested in testing the sample which allows the Consumer to send some arbitrary data to the Producer when a portlet is being refreshed.
    (com.bea.wsrp.ext.holders.MarkupRequestState)
    This all works behind the scene when the Producer and Consumer is WLS / WLP. However, I have a scenario where I have a .Net Producer and the WLP acts as a WSRP portlet Consumer.
    Then, I send the data to the .Net Producer and using the SOAP message monitor supplied by WLP I see the following.
    (I.e. an extract that represents the two attributes that I have put in the request using the MarkupRequestState.)
    <urn1:MarkupRequestState xmlns:urn1="urn:bea:wsrp:ext:v1:types">
    <urn1:state>rO0ABXNyACpjb20uYmVhLndzcnAuZXh0LmhvbGRlcnMuU2ltcGxlU3RhdGVIb2xkZXKnP+aldExARAIAAUwABGRhdGF0ABNMamF2YS91dGlsL0hhc2hNYXA7eHBzcgARamF2YS51dGlsLkhhc2hNYXAFB9rBwxZg0QMAAkYACmxvYWRGYWN0b3JJAAl0aHJlc2hvbGR4cD9AAAAAAAAMdwgAAAAQAAAAAnQAHnNlLnNsbC5iYXRwb3J0YWwud3NycC51c2VybmFtZXQABGFwYW50ACNzZS5zbGwuYmF0cG9ydGFsLndzcnAuaGFuZGljYXBzdHlsZXQAA2JpZ3g=</urn1:state>
    </urn1:MarkupRequestState>
    As you all can see the data enclosed with the <urn1:state> tag is encoded.
    I have tried to Base64 decode the string, but that does not give me a clean string whithout control characters so I suppose that the decoding must be done using a different algorithm.
    The question are:
    1)
    What encoding is used?
    2)
    How does the .Net Producer decode the data enclosed with the <urn1:state> tag?
    Thanks in advance!
    Best regards/ Thomas Lindbom :-)

    I have got it to work with Apache Soap. Much simpler to extract the reply body from the soap message too.
    Bill

  • Signing a soap message seems to not work in jwsdp14

    I'm trying to sign a soap message according to the latest oasis specifications (http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0.pdf) using the libraries provided with jwsdp14 (mainly xmlsec.jar).
    As far as I know, there is not yet documention/example about this specific issue.
    The following is the code I have to sign a soap message: it seems to work fine because the signed soap message respects the above specifications... but what I notice is that the digest and the signature values it contains are always the same, I mean: if i change the source soap message, the signed soap message in output is always the same!
    Any clue??
    import com.sun.org.apache.xml.security.Init;
    import com.sun.org.apache.xml.security.signature.XMLSignature;
    import com.sun.org.apache.xml.security.transforms.Transforms;
    import com.sun.org.apache.xml.security.utils.Constants;
    import com.sun.xml.wss.*;
    import com.sun.xml.wss.reference.DirectReference;
    import org.w3c.dom.Document;
    import javax.xml.soap.SOAPHeader;
    import javax.xml.soap.SOAPMessage;
    import javax.xml.soap.SOAPBody;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.security.PrivateKey;
    import java.security.cert.X509Certificate;
    public class Main {
    public static void main(String[] args) {
    // The file from which we will load the sample SOAP message
    String fileName = "F:\\SampleSoapMessage.xml";
    // Store the WSSE signed message here
    String signatureFileName = "F:\\SignedSampleSoapMessage.xml";
    try {
    // Initialize the apache libraries
    Init.init();
    // Obtain security elements from the keystore
    PrivateKey privateKey = MySecurityUtils.getPrivateKey();
    X509Certificate cert = MySecurityUtils.getCertificate();
    // Obtain a sample SOAPMessage from a file
    FileInputStream fis = new FileInputStream(new File(fileName));
    Document doc = XMLUtil.toDOMDocument(fis);
    SOAPMessage message = MyFileUtils.getMessageFromFile(doc);
    SOAPHeader header = message.getSOAPHeader();
    SOAPBody body = message.getSOAPBody();
    // Set the wsu:Id attribute to the Body
    XMLUtil.setWsuIdAttr(body, "MyId");
    // Create a WSSE context for the SOAP message
    SecurableSoapMessage sssm = new SecurableSoapMessage(message);
    // Create a security header for the message (<wsse:Security>)
    SecurityHeader sh = sssm.findOrCreateSecurityHeader();
    // Insert the certificate (<wsse:BinarySecurityToken>)
    X509SecurityToken stoken = new X509SecurityToken(header.getOwnerDocument(), cert, "X509TokenRef");
    sh.insertHeaderBlock(stoken);
    // Insert the keyinfo referring to the certificate (<ds:KeyInfo>)
    KeyInfoHeaderBlock kihb = new KeyInfoHeaderBlock(header.getOwnerDocument());
    SecurityTokenReference secTR = new SecurityTokenReference(header.getOwnerDocument());
    DirectReference dirRef = new DirectReference();
    dirRef.setURI("#X509TokenRef");
    secTR.setReference(dirRef);
    kihb.addSecurityTokenReference(secTR);
    //sh.insertHeaderBlock(kihb);
    // Insert the Signature block (<ds:Signature>)
    SignatureHeaderBlock shb = new SignatureHeaderBlock(header.getOwnerDocument(), XMLSignature.ALGO_ID_SIGNATURE_RSA);
    Transforms transforms = new Transforms(header.getOwnerDocument());
    transforms.addTransform(Transforms.TRANSFORM_C14N_EXCL_OMIT_COMMENTS);
    shb.addSignedInfoReference("#MyId", transforms, Constants.ALGO_ID_DIGEST_SHA1);
    shb.addChildElement(kihb.getAsSoapElement());
    sh.insertHeaderBlock(shb);
    // Digest all References (#MyId) in the SignedInfo, calculate the signature value
    // and set it in the SignatureValue Element
    shb.sign(privateKey);
    // Add the signature data to the header element
    header.addChildElement(sh.getAsSoapElement());
    // Save the signed SOAP message
    FileOutputStream fos = new FileOutputStream(new File(signatureFileName));
    message.writeTo(fos);
    message.writeTo(System.out);
    } catch (Exception exc) {
    exc.printStackTrace();
    System.out.println("An error has occurred : " + exc.toString());
    PS: Classes MySecurityUtils and MyFileUtils are not included since they have nothing interesting.
    The sample input sopa message is:
    <?xml version="1.0" encoding="UTF-8"?>
    <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
    <SOAP-ENV:Header>
    </SOAP-ENV:Header>
    <SOAP-ENV:Body>
    <Intestazione>
    </Intestazione>
    </SOAP-ENV:Body>
    </SOAP-ENV:Envelope>
    and the output signed sample message is:
    <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
    <SOAP-ENV:Header>
    <wsse:Security SOAP-ENV:mustUnderstand="1" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"><ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
    <ds:SignedInfo>
    <ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
    <ds:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/>
    <ds:Reference URI="#MyId">
    <ds:Transforms>
    <ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
    </ds:Transforms>
    <ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
    <ds:DigestValue>2jmj7l5rSw0yVb/vlWAYkK/YBwk=</ds:DigestValue>
    </ds:Reference>
    </ds:SignedInfo>
    <ds:SignatureValue>
    YdKNSPWnx630AYeZ6AXVco1b0RMo8C3WWbziq7C009gg4nhknEZmH0ds78y328SgAlAAVR6Swwok
    HE3OWgL8TZ1Ks0IimmmDd8/XIb2KlfiqnUNtTjGjUn9FLQEv/CMbmrCr7EO9rf/N+0cyAyGzrKo5
    ieEQhtZy9uZAKh2mrmM=
    </ds:SignatureValue>
    <ds:KeyInfo>
    <wsse:SecurityTokenReference>
    <wsse:Reference URI="#X509TokenRef"/>
    </wsse:SecurityTokenReference>
    </ds:KeyInfo></ds:Signature><wsse:BinarySecurityToken EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary" ValueType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" wsu:Id="X509TokenRef">MIIDITCCAsugAwIBAgIQIdu5EMFuQntM5IBOMeFcETANBgkqhkiG9w0BAQUFADCBqTEWMBQGA1UE
    ChMNVmVyaVNpZ24sIEluYzFHMEUGA1UECxM+d3d3LnZlcmlzaWduLmNvbS9yZXBvc2l0b3J5L1Rl
    c3RDUFMgSW5jb3JwLiBCeSBSZWYuIExpYWIuIExURC4xRjBEBgNVBAsTPUZvciBWZXJpU2lnbiBh
    dXRob3JpemVkIHRlc3Rpbmcgb25seS4gTm8gYXNzdXJhbmNlcyAoQylWUzE5OTcwHhcNMDQwODA1
    MDAwMDAwWhcNMDQwODE5MjM1OTU5WjBhMQswCQYDVQQGEwJJVDENMAsGA1UECBMEUk9NQTENMAsG
    A1UEBxQEcm9tYTEOMAwGA1UEChQFaXNzcGExDjAMBgNVBAsUBWNoaWVmMRQwEgYDVQQDFAt3d3cu
    dGVzdC5pdDCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAtIsomDk9VthgMorPmG0dAwqLtTBi
    U69liwopwrnAbtzIiO56R9yh4tXvG9+QWtEFRcDHVwWi9YdaHQFCvjymnNYDUHkpJsWp11nIAfOA
    k+d9v1YDje4S6oba7tsIJSEkUu7LQ888Q3cGt/KUaEu6b0lZJ5zY9slK0onUPeTB3e8CAwEAAaOB
    0TCBzjAJBgNVHRMEAjAAMAsGA1UdDwQEAwIFoDBCBgNVHR8EOzA5MDegNaAzhjFodHRwOi8vY3Js
    LnZlcmlzaWduLmNvbS9TZWN1cmVTZXJ2ZXJUZXN0aW5nQ0EuY3JsMFEGA1UdIARKMEgwRgYKYIZI
    AYb4RQEHFTA4MDYGCCsGAQUFBwIBFipodHRwOi8vd3d3LnZlcmlzaWduLmNvbS9yZXBvc2l0b3J5
    L1Rlc3RDUFMwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMA0GCSqGSIb3DQEBBQUAA0EA
    Y66OqTOpHcpNUPlD4A38s8bPIIjrf+C+Wv08lUj+DGN5pm+gBWdbWEGaQmqU8fPPtGrQnHz2NAUr
    ZmLaEw/qKw==</wsse:BinarySecurityToken></wsse:Security></SOAP-ENV:Header>
    <SOAP-ENV:Body xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" wsu:Id="MyId">
    <aTag>
    <aChild>a value</aChild>
    </aTag>
    </SOAP-ENV:Body>
    </SOAP-ENV:Envelope>
    NOTE: Check the value of <ds:SignatureValue> and <ds:DigestValue>: they never change even if I change the body of the source message.

    Quoting Farrukh's reply to this question on java.net -
    I can share some examples of how I have used JWSDP 1.4 and XML DSIG API to sign and verify a "standalone" soap message with and without mime attachments.
    Please see the following Utility class written for the freebXML Registry project [1] for an example of how to do what you seek:
    http://cvs.sourceforge.net/viewcvs.py/ebxmlrr/omar/src/java/org/freebxml/omar/common/security/SecurityUtil.java?view=markup
    See methods signSOAPMessage(...), signPayload(...), verifySOAPMessage(...) and verifyPayloadSignature(...)
    What you are trying to do is definitely doable and has been done with JWSDP 1.4. In my experience XML DSIG API met my needs very well.
    Best of luck.
    [1] freebXML Registry Project:
    http://ebxmlrr.sourceforge.net
    ---------------------------------------------------------------------------------

  • Unable to open PWA in browser and MSP on application server in project server 2007. ERROR: Sending the Soap message failed or no recognizable response was received.

    Hi All,
    I am using project server 2007 and WSS 3.0. 
    I have been facing a strange issue for couple of days. I am unable to open PWA in browser and MS Project Pro on application server.
    Everything is correct whether it is URL or MS Project profile account on MSP.  This is strange because i can open same PWA/MSP from other computers (Database server / Client PCs) but not locally on server.
    When i try to connect to MSP on App server, i get the following errors in event viewer.
    Event Type: Error
    Event Source: MSSOAP
    Event ID: 16
    User: N/A
    Computer: APP-Server-Name
    Description:
    Soap error: Connection time out..
    Event Type: Error
    Event Source: MSSOAP
    Event Category: Client 
    Event ID: 16
    User: N/A
    Computer: APP-Server-Name
    Description:
    Soap error: An unanticipated error occurred during the processing of this request..
    Event Type: Error
    Event Source: MSSOAP
    Event Category: Client 
    Event ID: 16
    User: N/A
    Computer: APP-Server-Name
    Description: Soap error: Sending the Soap message failed or no recognizable response was received.
    Event Type: Error
    Event Source: MSSOAP
    Event Category: Client 
    Event ID: 16
    User: N/A
    Computer: APP-Server-Name
    Description:
    Soap error: Unspecified client error..
    One more issue i am facing and i guess that is related to above issue. The Issue is, when i am creating a new project, It's workspace gets created but doesn't get linked to the project and i can't link it manually because it already exists for the project.
    sandeep

    Hi Paul ,
    Thanks for reply. The project server URL was already added to the Trusted
    Sites/Local Intranet areas in IE. 
    sandeep

  • Trying to parse a Soap Message

    I'm working on creating webservices that will be consumed by
    Director and working with the client programmer, we've come to
    recognize the problem, but we don't know how to resolve it.
    Problem: the XMLParser doesn't follow href parameters in tags
    that refer to subobjects, which result in a #getProp Ref error.
    I have a web service method that will return a list of names
    and it returns the following XML response:
    &lt;?xml version=&quot;1.0&quot;
    encoding=&quot;UTF-8&quot; ?&gt;
    &lt;soapenv:Envelope xmlns:soapenv=&quot;
    http://schemas.xmlsoap.org/soap/envelope/&quot;
    xmlns:xsd=&quot;
    http://www.w3.org/2001/XMLSchema&quot;
    xmlns:xsi=&quot;
    http://www.w3.org/2001/XMLSchema-instance&quot;&gt;
    &lt;soapenv:Body&gt;
    &lt;getStudentsResponse soapenv:encodingStyle=&quot;
    http://schemas.xmlsoap.org/soap/encoding/&quot;&gt;
    &lt;getStudentsReturn href=&quot;#id0&quot;
    /&gt;
    &lt;/getStudentsResponse&gt;
    &lt;multiRef id=&quot;id0&quot;
    soapenc:root=&quot;0&quot; soapenv:encodingStyle=&quot;
    http://schemas.xmlsoap.org/soap/encoding/&quot;
    soapenc:arrayType=&quot;xsd:anyType[6]&quot;
    xsi:type=&quot;soapenc:Array&quot; xmlns:soapenc=&quot;
    http://schemas.xmlsoap.org/soap/encoding/&quot;&gt;
    &lt;multiRef
    xsi:type=&quot;soapenc:string&quot;&gt;Bob B
    Bobbly&lt;/multiRef&gt;
    &lt;multiRef
    xsi:type=&quot;soapenc:string&quot;&gt;Andy A
    Anderson&lt;/multiRef&gt;
    &lt;multiRef
    xsi:type=&quot;soapenc:string&quot;&gt;Carl C
    Carlson&lt;/multiRef&gt;
    &lt;/multiRef&gt;
    &lt;/soapenv:Body&gt;
    &lt;/soapenv:Envelope&gt;
    When it hits the getStudentsReturn element and tries to refer
    to a child node, and obviously fails.
    The server is Tomcat 5.5, using Axis 1.4 for web services. I
    can post a wsdl if desired.
    The web service is configured for rpc/encoded style.
    What is the way to get out of this particular jam? Neither me
    nor the client programmer have extensive knowledge of how Director
    (or the relevant Xtra) handles SOAP messages or parse them. I've
    stepped through the code and seen the XML parser object render the
    response into an object tree, but it doesn't respect the href's.
    I can provide follow up to any questions or comments about
    this problem.
    Regards,
    Jeff Vandenberg

    Hi Jeff,
    While I don't have much experience with web services, I'm
    about to
    embark on something that involves extensive use of them, so
    your post
    caught my eye.
    If I understand correctly, the href attribute associated with
    the
    getStudentsReturn node is supposed to "automatically" link to
    the
    following multiRef array. Is that correct?
    Assuming it *did* link correctly, how would this manifest
    itself? Is it
    not a matter of you the parser watching for href tags and
    resolving them
    yourself? Why would you not simply provide the multiRef nodes
    as
    children of the getStudentsReturn node? Is there
    documentation somewhere
    for the href attribute and this form of linking?
    Have you tried using the Flash Asset xtra for parsing, and
    does it
    behave "correctly"?

  • External WebService call from CAF Core returns Invalid soap message

    I am trying to perform the very simple action of calling a WebService from a CAF Core app service.
      1. I imported the WS (Axis Web service running on NW 2004s SP9 server) with WSDL (option 2 on import external service page).
      2. I then assembled the call in an app service method and invoke it.
      3. I made sure to configure the end point for the service and the method using the External Service configuration.
    When I execute the CAF core method using a simple Callable Object test client, I get the following error:
    com.sap.caf.mp.base.exception.EngineException: Invalid soap message received
         at com.sap.caf.mp.core.data.service.manager.wsdl11.SOAPToMessageValueConverter.processComplexTypeMode(SOAPToMessageValueConverter.java:290)
         at com.sap.caf.mp.core.data.service.manager.wsdl11.SOAPToMessageValueConverter.generateComplexTypeValue(SOAPToMessageValueConverter.java:179)
         at
    truncated.
    I have also captured the XML request/reponse trace using tcpmon :
    REQUEST:
    POST /NWTestExpressWAR/services/TestExpressService HTTP/1.1
    Host: 192.168.99.120:8078
    Content-Type: text/xml; charset=UTF-8
    Content-Length: 348
    SOAPAction: http://www.testsys.com/TestExpressService/getAvailableModels
    <?xml version="1.0" encoding="utf-8"?>
    <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><SOAP-ENV:Body><ns1:GetAvailableModels xmlns:ns1="http://www.testsys.com/TestExpressService"/></SOAP-ENV:Body></SOAP-ENV:Envelope>
    RESPONSE:
    HTTP/1.1 200 OK
    Server: SAP J2EE Engine/7.00
    Set-Cookie: saplb_*=(J2EE11743000)11743050; Version=1; Path=/
    Content-Type: text/xml; charset=utf-8
    Date: Mon, 04 Dec 2006 02:19:39 GMT
    Transfer-Encoding: chunked
    Set-Cookie: JSESSIONID=(J2EE11743000)ID1261187150DB11296929644926762709End; Version=1; Domain=192.168.99.120; Path=/
    1f3
    <?xml version="1.0" encoding="UTF-8"?><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><GetAvailableModelsResponse xmlns="http://www.testsys.com/TestExpressService"><modelNames><name>Great Oak Manufacturing-January03 Test</name><name>PriceCheck-default</name></modelNames><errorMessagesReturn/></GetAvailableModelsResponse></soapenv:Body></soapenv:Envelope>
    0
    The only problem I can think off is that the transfer-encoding is marked as chunked which is causing the characters '1f3' and '0' to appear after and before the response and that this is causing the app to crash.
    192.168.99.120 is the server the hosts the WS. It is also a 2004s SP9 server. The client server that hosts the CAF core service is of the same configuration. 8078 is the port I redirect for tcpmon purposes.
    Could anyone shed some light on my problem?
    Thanks,
    Pratap.

    It looks like NW WS client cannot handle Transfer-encoding of chunked even though this is part of HTTP 1.1. What seems to be happening is that the NW WS client is creating a HTTP 1.1 request. The service (axis ws running on NW) seeing this is creating a HTTP 1.1 response w/ chunked encoding. However, the client cannot handle this encoding and barfs. The solution is to change the service to return a HTTP/1.0 response since NW cant handle HTTP 1.1.
    Pratap.

  • Issue in receiving custom header in response SOAP message

    Hi,
    I have created a simple BPEL process with custom headers in request and response message.
    I tried to send SOAP message through SOAPUI tool. Service is getting instantiated, able to access the request header and able to send response message. But only body is send as response message. Header is not sent in the response message.
    Also tried to invoke the above service through another BPEL process. I could able to send the header through request but not able to receive the header in response message.
    Pls. throw some light on this..
    Regards
    Jude.

    Hi,
    Input request is working as you mentioned but the output custom headers are not working. When I use bpelx:outputHeaderVariable="varOutManifest" I am getting exception while running the interface. So I used bpelx:outputHeaderVariables="varOutManifest" but I am not getting back the custom header from the partner service to the variable.
    Any hint.
    receive:
    bpelx:headerVariable="varManifest varSecurity"
    reply:
    bpelx:inputHeaderVariable="varOutManifest"
    Invoke:
    bpelx:outputHeaderVariables="varOutManifest"
    bpelx:inputHeaderVariable="varManifest varSecurity"
    Is anything wrong?
    I am on 10.1.3.3.1 MLR # 14. I am getting following exception when I use bpelx:outputHeaderVariable.
    <2009-03-06 17:33:36,840> <ERROR> <default.collaxa.cube> <BaseCubeSessionBean::logError> Error while invoking bean "delivery": [com.oracle.bpel.client.ServerException: 1] -> [java.lang.ArrayIndexOutOfBoundsException: 1]
    java.lang.ArrayIndexOutOfBoundsException: 1
         at com.collaxa.cube.ejb.impl.DeliveryBean.request(DeliveryBean.java:109)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:585)
         at com.evermind.server.ejb.interceptor.joinpoint.EJBJoinPointImpl.invoke(EJBJoinPointImpl.java:35)
         at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
         at com.evermind.server.ejb.interceptor.system.DMSInterceptor.invoke(DMSInterceptor.java:52)
         at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
         at com.evermind.server.ejb.interceptor.system.JAASInterceptor$1.run(JAASInterceptor.java:31)
         at com.evermind.server.ThreadState.runAs(ThreadState.java:646)
         at com.evermind.server.ejb.interceptor.system.JAASInterceptor.invoke(JAASInterceptor.java:34)
         at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
         at com.evermind.server.ejb.interceptor.system.TxRequiredInterceptor.invoke(TxRequiredInterceptor.java:50)
         at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
         at com.evermind.server.ejb.interceptor.system.DMSInterceptor.invoke(DMSInterceptor.java:52)
         at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
         at com.evermind.server.ejb.InvocationContextPool.invoke(InvocationContextPool.java:55)
         at com.evermind.server.ejb.StatelessSessionEJBObject.OC4J_invokeMethod(StatelessSessionEJBObject.java:87)
         at DeliveryBean_RemoteProxy_4bin6i8.request(Unknown Source)
         at com.collaxa.cube.ws.soap.oc4j.SOAPRequestProvider.processNormalOperation(SOAPRequestProvider.java:451)
         at com.collaxa.cube.ws.soap.oc4j.SOAPRequestProvider.processBPELMessage(SOAPRequestProvider.java:274)
         at com.collaxa.cube.ws.soap.oc4j.SOAPRequestProvider.processMessage(SOAPRequestProvider.java:120)
         at oracle.j2ee.ws.server.provider.ProviderProcessor.doEndpointProcessing(ProviderProcessor.java:956)
         at oracle.j2ee.ws.server.WebServiceProcessor.invokeEndpointImplementation(WebServiceProcessor.java:349)
         at oracle.j2ee.ws.server.provider.ProviderProcessor.doRequestProcessing(ProviderProcessor.java:466)
         at oracle.j2ee.ws.server.WebServiceProcessor.processRequest(WebServiceProcessor.java:114)
         at oracle.j2ee.ws.server.WebServiceProcessor.doService(WebServiceProcessor.java:96)
         at oracle.j2ee.ws.server.WebServiceServlet.doPost(WebServiceServlet.java:177)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
         at com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:65)
         at oracle.security.jazn.oc4j.JAZNFilter$1.run(JAZNFilter.java:396)
         at java.security.AccessController.doPrivileged(Native Method)
         at javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
         at oracle.security.jazn.oc4j.JAZNFilter.doFilter(JAZNFilter.java:410)
         at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:623)
         at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:370)
         at com.evermind.server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:871)
         at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:453)
         at com.evermind.server.http.HttpRequestHandler.serveOneRequest(HttpRequestHandler.java:221)
         at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:122)
         at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:111)
         at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)
         at oracle.oc4j.network.ServerSocketAcceptHandler.procClientSocket(ServerSocketAcceptHandler.java:239)
         at oracle.oc4j.network.ServerSocketAcceptHandler.access$700(ServerSocketAcceptHandler.java:34)
         at oracle.oc4j.network.ServerSocketAcceptHandler$AcceptHandlerHorse.run(ServerSocketAcceptHandler.java:880)
         at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303)
         at java.lang.Thread.run(Thread.java:595)
    Caused by: java.lang.ArrayIndexOutOfBoundsException: 1
         at com.collaxa.cube.engine.ext.wmp.BPELInvokeWMP.__callback(BPELInvokeWMP.java:626)
         at com.collaxa.cube.engine.ext.wmp.BPELInvokeWMP.__executeStatements(BPELInvokeWMP.java:436)
         at com.collaxa.cube.engine.ext.wmp.BPELActivityWMP.perform(BPELActivityWMP.java:195)
         at com.collaxa.cube.engine.CubeEngine.performActivity(CubeEngine.java:3703)
         at com.collaxa.cube.engine.CubeEngine.handleWorkItem(CubeEngine.java:1652)
         at com.collaxa.cube.engine.dispatch.message.instance.PerformMessageHandler.handleLocal(PerformMessageHandler.java:75)
         at com.collaxa.cube.engine.dispatch.DispatchHelper.handleLocalMessage(DispatchHelper.java:184)
         at com.collaxa.cube.engine.dispatch.DispatchHelper.sendMemory(DispatchHelper.java:281)
         at com.collaxa.cube.engine.CubeEngine.endRequest(CubeEngine.java:5689)
         at com.collaxa.cube.engine.CubeEngine.createAndInvoke(CubeEngine.java:1082)
         at com.collaxa.cube.engine.ejb.impl.CubeEngineBean.createAndInvoke(CubeEngineBean.java:132)
         at com.collaxa.cube.engine.ejb.impl.CubeEngineBean.syncCreateAndInvoke(CubeEngineBean.java:161)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:585)
         at com.evermind.server.ejb.interceptor.joinpoint.EJBJoinPointImpl.invoke(EJBJoinPointImpl.java:35)
         at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
         at com.evermind.server.ejb.interceptor.system.DMSInterceptor.invoke(DMSInterceptor.java:52)
         at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
         at com.evermind.server.ejb.interceptor.system.JAASInterceptor$1.run(JAASInterceptor.java:31)
         at com.evermind.server.ThreadState.runAs(ThreadState.java:646)
         at com.evermind.server.ejb.interceptor.system.JAASInterceptor.invoke(JAASInterceptor.java:34)
         at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
         at com.evermind.server.ejb.interceptor.system.TxRequiresNewInterceptor.invoke(TxRequiresNewInterceptor.java:52)
         at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
         at com.evermind.server.ejb.interceptor.system.DMSInterceptor.invoke(DMSInterceptor.java:52)
         at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
         at com.evermind.server.ejb.InvocationContextPool.invoke(InvocationContextPool.java:55)
         at com.evermind.server.ejb.StatelessSessionEJBObject.OC4J_invokeMethod(StatelessSessionEJBObject.java:87)
         at CubeEngineBean_LocalProxy_4bin6i8.syncCreateAndInvoke(Unknown Source)
         at com.collaxa.cube.engine.delivery.DeliveryHandler.initialRequestAnyType(DeliveryHandler.java:515)
         at com.collaxa.cube.engine.delivery.DeliveryHandler.initialRequest(DeliveryHandler.java:457)
         at com.collaxa.cube.engine.delivery.DeliveryHandler.request(DeliveryHandler.java:131)
         at com.collaxa.cube.ejb.impl.DeliveryBean.request(DeliveryBean.java:95)
         ... 48 more
    Thanks,
    Arul
    Edited by: user599098 on Mar 6, 2009 2:42 PM

  • Reading attachment in SOAP message with ABAP mapping

    I am searching an ABAP code to read attachment in sender SOAP message..
    I am using PI 7.3, I can read by java mapping but I get another error after reading the attachment.. So I try to abap mapping..
    That's it..
    Thanx ..

    Hello Mark,
    1. My Soap Sender Adapter, I checked the Keep Attachment option
    2. I am getting the WSDL file from the SOAP Sender Agreement.. it is like http(s)://host:port/XISOAPAdapter/MessageServlet?channel=p:s:c? as you said.
    I used the user-defined function, it works when <inc:Include href="cid:test.jpg" xmlns:inc="http://www.w3.org/2004/08/xop/include" /> is deleted in the message.
    If the coming message includes <inc:Include href="cid:test.jpg" xmlns:inc="http://www.w3.org/2004/08/xop/include" />,
    the <null> error occurs.
    Thanx for your reply..

  • How to include XML Prolog in BPEL SOAP message.

    Hi,
    I'm using SOA Suite 11g on WebLogic and have a BPEL Process in a composite application that is calling a third party SOAP Web Service.
    Whilst it is standard for a SOAP service to not care whether or not the SOAP message includes an XML Prolog (<?xml version="1.0" encoding="utf-8"?>) this third party service rejects the message if the prolog is not included.
    Unfortunately the partner link in my BPEL process is not adding the prolog when invoking the service and I cannot get the third party service changed to accept messages without it.
    Does anyone know how I can make BPEL include the prolog in SOAP messages?
    Currently the SOAP message looks like this:-
    <soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope">
    <soap:Header/>
    <soap:Body>
    </soap:Body>
    </soap:Envelope>
    What I would like it to look like is this :-
    *<?xml version="1.0" encoding="utf-8"?>*
    <soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope">
    <soap:Header/>
    <soap:Body>
    </soap:Body>
    </soap:Envelope>
    Thanks in advance...

    Hi swigg,
    It's not the partnerlink input variable that I want to manipulate, it's the SOAP Envelope that the Partner Link generates when it is invoked.
    I know that you can manipulate the SOAP Header by adding properties to the Partnerlink but it's the Envelope that surrounds both the Header and the Body that I want to set the prolog on.
    It can be done in java and .NET (WCF) by setting a property on the SOAP Envelope class, but I can't see a way to do it for a partner link in BPEL which is a shame.
    To be honest it looks like Oracle have let me down here so I'll have to use some other technology to call this service which unfortunately plays into the hands of those that didn't think I should use Oracle's BPEL offering in the first place.
    Thanks.

  • Processing of soap message

    some help is required on the SOAP processing
    <SOAP-ENV:Envelope xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <SOAP-ENV:Body>
    <getPricedAvailability xmlns="http://www.openuri.org/" xmlns:tget="http://www.ba.com/schema/tGetPricedAvailabilityV1">
    <tget:GetPricedAvailabilityRequest>
    <Name>ian</Name>
    ....i need to add a tag name[in between the two tags] <asl>US </asl>
    <age>1234</age>
    </tget:GetPricedAvailabilityRequest>
    </getPricedAvailability>
    </SOAP-ENV:Body>
    </SOAP-ENV:Envelope
    Can any one suggest or send me the piece of code which does this..
    i tried to add the tag by using the below code but in vain it didn't happen ...it is not adding in between the 2 tags.
    it is adding after <age>.... Can any one help me in this...Is there is any other way of parsing the SOAP message is possible
    SOAPMessageContext smc = (SOAPMessageContext)mc;
    SOAPMessage sm = smc.getMessage();
    SOAPEnvelope env = sm.getSOAPPart().getEnvelope();
    SOAPBody body = env.getBody();
    javax.xml.soap.Name sName;
    System.out.println(" Entering callEndTag #########################################");
    System.out.println("body"+body +" "+"env"+env);
    if ( body != null ){
    java.util.Iterator childElems = body.getChildElements();
    SOAPElement child;
    int i=0;
    // iterate through child elements
    while (childElems.hasNext())
    System.out.println("childElems" +childElems);
    Object elem = childElems.next();
    System.out.println("elem" +elem);
    if(elem instanceof SOAPElement )
    // get child element and its name
    child = (SOAPElement) elem;
    sName = child.getElementName();
    if (sName.getLocalName().equals("getPricedAvailability"))
    childElems = child.getChildElements();
    while (childElems.hasNext())
    // get next child element
    elem = childElems.next();
    if(elem instanceof SOAPElement )
    child = (SOAPElement) elem;
    sName = child.getElementName();
    if (sName.getLocalName().equals("GetPricedAvailabilityRequest"))
    {childElems = child.getChildElements();
                                                   sName = child.getElementName();
                                                   System.out.println("SNAME inSIDE IF  LOOP" +sName);
                                                   System.out.println("If Elem is a) instance ====After");
                                                   if (childElems.hasNext())
                                                      // get next child element
                                                       elem = childElems.next();
                                                       System.out.println("If Elem is a) instance  == before");
                                                      if(elem instanceof SOAPElement )
                                                          System.out.println("If Elem is a) instance ====After");
                                                          System.out.println("before type cast" );  
                                                          child = (SOAPElement) elem;
                                                          sName = child.getElementName();
                                                          System.out.println("Start adding process added end date" +sName);
                                                          SOAPElement fResponse12 =  child.addChildElement(env.createName("EndDate-- ==child ")); 
                                                          fResponse12.addAttribute(env.createName("xmlns"),   
                                                          fResponse12.addTextNode(strEndDate );
    ((SOAPMessageContext)mc).setMessage(sm);

    Hi Experts,
    I'm trying to protect a web service deployed in jcaps 5.1.1, using SAML assertions against an Access Manager 7/7.1, the web services clients are both, web and standalone applications, I also have read netbeans tutorials, that expose how to implement identity webservices using AppServer 9.1 + AccessManager 7.1 using the SAML Holder of key and other security mechanisms, but this implementation requiere modifications to the server.policy file to add support to SOAP message security providers and HttpServlet message security providers, the addition of a library called amwebservicesprovider.jar to the classpath suffix (this library implements the jsr-196 java Authentication Service Provider Interface for Containers) and aditional configuration required in the AM side that is not detailed in the tutorials.
    Could someone guide me on how to protect the acces to a web services deployed in the jcaps logicalhost based on AM roles assigned to users?
    Any help is aprecciated
    Juan

  • How to make a SOAP message?

    Hi!
    I'm trying to send an object to a JMS queue using SOAP and Spring Integration. I already made the object into XML like so:
    <app:MyClass>
      <app:myValue>A value</app:myValue>
    </app:MyClass>But I can't figure out how to wrap this into a SOAP message in a satisfying way. I tried using the SOAPMessage class, but since Spring doesn't like sending the message object as-is, I first have to convert it to a String:
    //Create message
    MessageFactory messageFactory = MessageFactory.newInstance();
    soapMessage = messageFactory.createMessage();
    //Get parts
    SOAPPart soapPart = soapMessage.getSOAPPart();
    SOAPEnvelope envelope = soapPart.getEnvelope();
    SOAPBody body = envelope.getBody();
    //Insert content
    body.addTextNode(myClassXMLString);
    soapMessage.saveChanges();
    //Convert message to String
    ByteArrayOutputStream stream = new ByteArrayOutputStream();
    soapMessage.writeTo(stream);
    String string = new String(stream.toByteArray());That produces an output that look something like this:
    <env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"><env:Header/><env:Body>&#38lt;?xml version="1.0" encoding="UTF-8"?&#38gt;&#38#13;
    &#38lt;app:MyClass xmlns:app="http://namespace.myurl.com" xmlns:xsd="http://www.w3.org/2001/XMLSchema"&#38gt;&#38#13;
       &#38lt;app:myValue&#38gt;A value&#38lt;/app:myValue&#38gt;&#38#13;
    &#38lt;/app:MyClass&#38gt;&#13;
    </env:Body></env:Envelope>So I have to do some string editing to make it look proper and fix the tags. But at that point I might as well just add the Envelope and other SOAP tags manually with a StringBuilder.
    Is there a better way to do this?

    I don't know much about SOAP, but I would suggest that if you don't want that data to be handled as text, then you shouldn't be using the addTextNode() method. And working backwards, you shouldn't be converting your data to XML text like that either. Probably you should be doing something else to add the object directly into the SOAP document, but as I say I don't know much about SOAP so I can't say what.
    But I would expect any decent SOAP tutorial to have an example of how to put an object into a SOAP document.

Maybe you are looking for