Changing SOAP-ENV prefix in SAAJ?

I'm using the latest webservices pack from Sun and have hit a roadblock.
We have some external clients that are relying on the SOAP messages we send them to have the prefix namespace <SOAP>. The SAAJ implementation seems to be hardcoding <SOAP-ENV>.
Is there anyway to specify/override the default SOAP namespace prefix?
i.e.
<SOAP-ENV:Envelope> --> <SOAP:Envelope>
Thanks,
- Tim

I managed to change my SOAP-ENV but the problem then is that unless you declare the namespace in every tag it add a xmlns="" to the first non specified tag.
how I changed the SOAP-ENV is as follows
SOAPPart part = msg.getSOAPPart();
//get the envelope
SOAPEnvelope envelope = part.getEnvelope();
//add the soap declaration
envelope.addNamespaceDeclaration("soap","http://schemas.xmlsoap.org/soap/envelope/");
//remove the default SOAP-ENV
envelope.removeNamespaceDeclaration("SOAP-ENV");
//Set the prefix to soap instead of SOAP-ENV
envelope.setPrefix("soap");
Mike

Similar Messages

  • Renamed: Why did my namespace change? soap-env (vs) soapenv

    Hello forum. I normally post in the main forum. I hope this is the right place for a SOAP question. I'm sure you'll let me know if it's not.
    We have an application which was running fine until last week. The app lives on a machine which is not completely ours (we don't control the environment). This app receives and sends socket messages. Based on the incoming message our outgoing message may be in SOAP or a legacy proprietary format. At the time of transmission we do not know the format of the message.
    Our outgoing messages stopped being transmitted. What we found was that there was a bit of logic in our transmitting component which read the first X characters of the message to see if it is a SOAP or legacy message. What we did to determine this was to look for, what we thought was standard "<SOAP-ENV....." It worked for years. (I know there are better ways of doing this and we're working on that now). The problem was that the messages that were failing contained "<SOAPENV...."
    Here's the question. The objects which build these messages are called from our messaging app. They should be in the same JVM as the messaging app. The messaging app's SOAP jars have not changed. The JRE was upgraded to 1.3.1_19 from _07. In the messaging app as a test I can build a SOAP message and it still says "<SOAP-ENV...." Where is this other namespace coming from? I decompiled the saaj components and it looks like the MessageFactory makes some calls to the environment to determine the message implementation. Could the problem be here? Has anyone heard of this type of thing happening before or am I just losing my mind.
    Thanks as always.
    ST
    Message was edited by:
    souLTower

    Possibly I don't understand the SOAP implementation. I'm using the same set of SOAP jars (saaj, commons, logging, etc) as I always did. If these jars did not change could / should the message format change? Is the implementation looking outside of my JVM for this implementation?
    As to "why" it matters is that I need to know why something in my code has changed. Imagine, for example, that the implementation of String changed. It may still adhere to the normal implementation of String but if my code expects it to look a certain way and it stops looking that way then my code breaks.
    As I said in the original post I have handled the issue that it changed but I can't feel comfortable with the application if I fear that it can change again and break my code.
    The question is, if the jars related to SOAP (the normal ones you get from sun, I'll provide the list if needed) have not changed then how can the format of the message change?
    Thanks again.
    ST

  • How to override the default SOAP envelope prefix?

    I have a Web service as an external reference. In run-time WebLogic generates SOAP messages with a default prefix <env:Envelope xmlns:env=http://schemas.xmlsoap.org/soap/envelope/”…>. Normally this is fine. However the Web service required a prefix as <soapenv:…>. How can I have WebLogic generate soap envelope prefix as soapenv instead env?

    hello!
    It's possible. You must implement handler and change envelope and body prefix. Here is example:
    public class WsHandler implements SOAPHandler<SOAPMessageContext> {
    public boolean handleMessage(SOAPMessageContext context) {
    Boolean outboundProperty =
    (Boolean) context.get(MessageContext.MESSAGE_OUTBOUND_PROPERTY);
    if (outboundProperty.booleanValue()) {
    try {
    SOAPEnvelope envelope = context.getMessage().getSOAPPart().getEnvelope();
    envelope.setPrefix("soapenv");
    envelope.removeNamespaceDeclaration("env"); //remove old prefix
    envelope.getBody().setPrefix("soapenv");
    context.getMessage().saveChanges();
    } catch (Exception e) {
         throw new ProtocolException(e);
    }

  • SOAP:ENV Error: Resource..not found on this server

    I created a simple java class with a method that returns org.w3c.dom.Element type.
    Created web service for this class and method in Jdeveloper.
    Deployed this web service in OC4J locally (as explained by other web services examples).
    Then I created a Client Stub for this web service (.wsdl file).
    When testing this client stub ( I followed the same steps as mentioned in OTN DEPT/EMP Web Service), I get the following exception:
    D:\JDEVELOPER\jdk\bin\javaw.exe -ojvm -classpath D:\JDEVELOPER\jdev\mywork\MyWorkspace\MyProject2\classes;D:\JDEVELOPER\jdev\lib\jdev-rt.jar;D:\JDEVELOPER\jdbc\lib\classes12.jar;D:\JDEVELOPER\jdbc\lib\nls_charset12.jar;D:\JDEVELOPER\jdev\lib\jdev-rt.jar;D:\JDEVELOPER\soap\lib\soap.jar;D:\JDEVELOPER\lib\xmlparserv2.jar;D:\JDEVELOPER\jlib\javax-ssl-1_2.jar;D:\JDEVELOPER\jlib\jssl-1_2.jar;D:\JDEVELOPER\j2ee\home\lib\activation.jar;D:\JDEVELOPER\j2ee\home\lib\mail.jar;D:\JDEVELOPER\j2ee\home\lib\http_client.jar;D:\JDEVELOPER\lib\xmlparserv2.jar;D:\JDEVELOPER\lib\xmlcomp.jar;D:\JDEVELOPER\rdbms\jlib\xsu12.jar GetProductsClient
    [SOAPException: faultCode=SOAP-ENV:Protocol; msg=Unsupported response content type &quot;text/html&quot;, must be: &quot;text/xml&quot;. Response was:
    &lt;HTML&gt;&lt;HEAD&gt;&lt;TITLE&gt;404 Not Found&lt;/TITLE&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;H1&gt;404 Not Found&lt;/H1&gt;Resource /MyWorkspace-MyProject2-context-root/GetProducts not found on this server&lt;/BODY&gt;&lt;/HTML&gt;
    The SOAP response is as bellow:
    HTTP/1.1 404 Not Found
    Date: Wed, 27 Nov 2002 15:36:27 GMT
    Server: Oracle9iAS (9.0.3.0.0) Containers for J2EE
    Content-Length: 171
    Connection: Close
    Content-Type: text/html
    <HTML><HEAD><TITLE>404 Not Found</TITLE></HEAD><BODY><H1>404 Not Found</H1>Resource /MyWorkspace-MyProject2-context-root/GetProducts not found on this server</BODY></HTML>
    The Debug shows, the Method getProductsXM() in the client stub is failing at
    Response response = call.invoke(endpointURL, "");
    This appears to be generating fault and the code is throughing exception which is not casted in to a Element type.
    Not sure what is causing this to fail. And I have not toucjed/ changed the URI for this webservice myself at all. Whatever URIs or Name spaces are there, they are all generarted by JDeveloper.
    I was trying to create a web service that display/return Resultset.
    Any feedback/suggestions ? I would appreciate if you can point me to some sample code that does this ( returning Resultset as XML -<ROWSET> Element)
    Thanks,
    Madhu

    Does this do the trick?
    Server side class:
    import org.w3c.dom.*;
    import oracle.xml.parser.v2.*;
    public class Employee
    public Employee ()
    public Element getEmployeeElement(){
    Document doc = new XMLDocument();
    Element elAdd = doc.createElement( "employee");
    Element elA = doc.createElement( "name");
    elA.appendChild(doc.createTextNode("Mike"));
    elAdd.appendChild(elA);
    doc.appendChild(elAdd);
    return doc.getDocumentElement();
    Generated Interface from JDev:
    * Generated by the Oracle9i JDeveloper Web Services Interface Generator
    * Date Created: Wed Nov 27 11:42:37 PST 2002
    * This interface lists the subset of public methods that you
    * selected for inclusion in your web service's public interface.
    * It is referenced in the web.xml deployment descriptor for this service.
    * This file should not be edited.
    public interface IEmployee
    public org.w3c.dom.Element getEmployeeElement();
    Generated client with a print method to output the result (using WSDL generated by JDeveloper):
    import oracle.soap.transport.http.OracleSOAPHTTPConnection;
    import org.apache.soap.encoding.soapenc.BeanSerializer;
    import org.apache.soap.encoding.SOAPMappingRegistry;
    import org.apache.soap.util.xml.QName;
    import java.net.URL;
    import org.apache.soap.Constants;
    import org.apache.soap.Fault;
    import org.apache.soap.SOAPException;
    import org.apache.soap.rpc.Call;
    import org.apache.soap.rpc.Parameter;
    import org.apache.soap.rpc.Response;
    import org.w3c.dom.Element;
    import java.util.Vector;
    import java.util.Properties;
    import oracle.xml.parser.v2.*;
    * Generated by the Oracle9i JDeveloper Web Services Stub/Skeleton Generator.
    * Date Created: Wed Nov 27 11:39:29 PST 2002
    * WSDL URL: file:/D:/demo/Workspace5/Project1/src/Employee.wsdl
    public class EmployeeStub
    public EmployeeStub()
    m_httpConnection = new OracleSOAPHTTPConnection();
    m_smr = new SOAPMappingRegistry();
    public static void main(String[] args)
    try
    EmployeeStub stub = new EmployeeStub();
    // Add your own code here.
    Element e = stub.getEmployeeElement();
    ((XMLElement)e).print(System.out);
    catch(Exception ex)
    ex.printStackTrace();
    public String endpoint = "http://127.0.0.1:8888/Workspace5-Project1-context-root/Employee";
    private OracleSOAPHTTPConnection m_httpConnection = null;
    private SOAPMappingRegistry m_smr = null;
    public Element getEmployeeElement() throws Exception
    Element returnVal = null;
    URL endpointURL = new URL(endpoint);
    Call call = new Call();
    call.setSOAPTransport(m_httpConnection);
    call.setTargetObjectURI("Employee");
    call.setMethodName("getEmployeeElement");
    call.setEncodingStyleURI(Constants.NS_URI_LITERAL_XML);
    Vector params = new Vector();
    call.setParams(params);
    call.setSOAPMappingRegistry(m_smr);
    Response response = call.invoke(endpointURL, "");
    if (!response.generatedFault())
    Parameter result = response.getReturnValue();
    returnVal = (Element)result.getValue();
    else
    Fault fault = response.getFault();
    throw new SOAPException(fault.getFaultCode(), fault.getFaultString());
    return returnVal;
    public void setMaintainSession(boolean maintainSession)
    m_httpConnection.setMaintainSession(maintainSession);
    public boolean getMaintainSession()
    return m_httpConnection.getMaintainSession();
    public void setTransportProperties(Properties props)
    m_httpConnection.setProperties(props);
    public Properties getTransportProperties()
    return m_httpConnection.getProperties();
    Mike.

  • SOAP-ENV:IOException; msg=SSL handshake failed: SSLProtocolErr

    Getting following error while invoking webservice over ssl.
    "SOAP-ENV:IOException; msg=SSL handshake failed: SSLProtocolErr"
    We generated webservice java stub using JDeveloper based on wsdl provided to us from 3rd party. We are able to test this webservice successfully without ssl . Once ssl is enabled by the 3rd party webservice provider we faced
    "java.lang.UnsatisfiedLinkError: no njssl9 in java.library.path" error in JDeveloper.
    In JDeveloper we were able to resolve this by following details provided at
    Lehmann's web log on "Securing a Web Service - Client SSL" (http://radio.weblogs.com/0132036/2004/02/13.html ).
    We then run the same java stub from oracle application server 9iAS 1.0.2.2.2. This is when we get error
    "SOAP-ENV:IOException; msg=SSL handshake failed: SSLProtocolErr"
    Debugging further we see that in 9iAS we have following in our class path.
    ..iAS/jlib/jssl-1_1.jar:..iAS/jlib/javax-ssl-1_1.jar:..iAS/soap/webapps/soap/WEB-INF/lib/soap.jar
    we took the same files and added to libraries in JDeveloper and are able to reproduce the same error in JDeveloper. We turned on Debug on oracle.jssl.debug and with that we see following details
    instantiate the hashtable
    SocketTable write Enter fdin 1
    SocketTable write offset 0 length 72
    SocketTable write: 72 bytes
    SocketTable read Enter
    SocketTable read: 1 bytes
    SocketTable read Enter
    SocketTable read: 2 bytes
    SSLSocketImpl close Thread:main
    In close removing fd 1Thread main
    [SOAPException: faultCode=SOAP-ENV:IOException; msg=SSL handshake failed: SSLProtocolErr...
    Any suggestions on how to resolve this error in oracle application server 9iAS ?
    Note: We run Oracle E-Business Suite on this same 9iAS so any change we make should not impact the oracle applications running on this server.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

    hi,
    thi sis very simple soloution for this. open the wsdl into the internet explorer. when wsdl file open save this wsdl with the .xml extension. when u want to make dat contorl or web sekelton or proxy dont use the hhtps:// ????????/ url give the path there for the .xml file which u save for this. i am sure u will invoke all the services which is provoider by the web service.
    have nice day
    best regards

  • ADF Web Services 11g - how to change SOAP message

    Hey,
    Can I affect on SOAP structure?
    When we call web service, next soap message is generated:
    <env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns="http://hr/crosig/ws/osigurateljnidokument/OsigurateljniDokument.wsdl"; xmlns:ns1="http://hr/crosig/ws/osigurateljnidokument/OsigurateljniDokument.wsdl/types/"; xmlns:ns2="http://www.w3.org/2001/XMLSchema-instance">
    <env:Header/>
    <env:Body>
    <ns:unos>
    <ppol>
    <ns1:kratkiopis/>
    <ns1:premijado/>
    <ns1:sifraklauzule/>
    <ns1:datumpocetka/>
    </ppol>
    <res_out>
    <ns1:kratkiopis ns2:nil="true"/>
    <ns1:premijado ns2:nil="true"/>
    <ns1:sifraklauzule ns2:nil="true"/>
    <ns1:datumpocetka ns2:nil="true"/>
    <ns1:vinkulacije ns2:nil="true"/>
    </res_out>
    </ns:unos>
    </env:Body>
    </env:Envelope>
    and we get next error:
    <?xml version = '1.0' encoding = 'UTF-8'?>
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
    <soapenv:Body>
    <soapenv:Fault>
    <faultcode>soapenv:Server</faultcode>
    <faultstring>BEA-380001: Internal Server Error</faultstring>
    <detail>
    <con:fault xmlns:con="http://www.bea.com/wli/sb/context">
    <con:errorCode>BEA-380001</con:errorCode>
    <con:reason>Internal Server Error</con:reason>
    <con:location>
    <con:node>RouteNode1</con:node>
    <con:path>response-pipeline</con:path>
    </con:location>
    </con:fault>
    </detail>
    </soapenv:Fault>
    </soapenv:Body>
    </soapenv:Envelope>
    We send next SOAP message and then everything works fine (just removed ns1):
    <env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns="http://hr/crosig/ws/osigurateljnidokument/OsigurateljniDokument.wsdl"; xmlns:ns1="http://hr/crosig/ws/osigurateljnidokument/OsigurateljniDokument.wsdl/types/"; xmlns:ns2="http://www.w3.org/2001/XMLSchema-instance">
    <env:Header/>
    <env:Body>
    <ns:unos>
    <ppol>
    <kratkiopis/>
    <premijado/>
    <sifraklauzule/>
    <datumpocetka/>
    </ppol>
    <res_out>
    <kratkiopis ns2:nil="true"/>
    <premijado ns2:nil="true"/>
    <sifraklauzule ns2:nil="true"/>
    <datumpocetka ns2:nil="true"/>
    <vinkulacije ns2:nil="true"/>
    </res_out>
    </ns:unos>
    </env:Body>
    </env:Envelope>
    But I don't know how can we affect on SOAP message? I don't see any parameter or something what can I set to change SOAP message...
    Tnx.

    And when we call web service from proxy classes, then different SOAP message was sent , and that SOAP message is ok, too:
    <?xml version = '1.0' encoding = 'UTF-8'?>
    <S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
    <S:Body>
    <ns3:unos xmlns:ns3="http://hr/crosig/ws/osigurateljnidokument/OsigurateljniDokument.wsdl" xmlns:ns2="http://hr/crosig/ws/osigurateljnidokument/OsigurateljniDokument.wsdl/types/">
    <ppol>
    <ns2:kratkiopis xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
    <ns2:premijado xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
    <ns2:sifraklauzule xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
    <ns2:datumpocetka xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
    <res_out>
    <ns2:kratkiopis xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
    <ns2:premijado xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
    <ns2:sifraklauzule xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
    <ns2:datumpocetka xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
    </res_out>
    </ns3:unos>
    </S:Body>
    </S:Envelope>

  • Webservice doesn't work with: soap-env:mustUnderstand="1"

    Hi friends,
    I created a Webservice Consumer with the assistant, indicating the URL of my WSDL.
    Then I created the logical port in SOAMANAGER, using the same URL.
    When I test the Webservice Consumer I get the following error:
    SoapFaultCode:3  MustUnderstand headers:
    [Action,
    To] are not understood.
    The XML petition to the Webservice is:
    <soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/">
         <soap-env:Header>
              <sap:Trace xmlns:sap="http://www.sap.com/webas/630/soap/features/runtime/tracing/">
                   <sap:TraceLevel>Error</sap:TraceLevel>
                   <sap:TraceContext>
                        <TRC_PATTERN>WSTEST</TRC_PATTERN>
                        <TRC_KEY>4D635EAAEFA70022E10000009353966F</TRC_KEY>
                        <TRC_SSID>EDU_02</TRC_SSID>
                        <TRC_USER>DES005</TRC_USER>
                        <TRC_TS>20110223153559</TRC_TS>
                        <TRC_COUNTER>99</TRC_COUNTER><TRC_EXTERN></TRC_EXTERN><TRC_REQBASED></TRC_REQBASED><TRC_PPVERS>2</TRC_PPVERS>
                   </sap:TraceContext>
              </sap:Trace>
              <wsa:To soap-env:mustUnderstand="1" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing">
                   http://soades.upc.edu:8193/EconomiaFinances/InformacioPersona
              </wsa:To>
              <wsa:From xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing">
                   <wsa:Address>http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</wsa:Address>
              </wsa:From>
              <wsa:ReplyTo xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing">
                   <wsa:Address>http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</wsa:Address>
              </wsa:ReplyTo>
              <wsa:FaultTo xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing">
                   <wsa:Address>http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</wsa:Address>
              </wsa:FaultTo>
              <wsa:Action soap-env:mustUnderstand="1" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing">http://comprovacio.ws.upcnet.com/InformacioPersonaImpl/consultaCNRequest</wsa:Action>
              <wsa:MessageID xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing">uuid:4d635ec2-efa7-0022-e100-00009353966f</wsa:MessageID>
         </soap-env:Header>
         <soap-env:Body>
              <n0:consultaCN xmlns:n0="http://comprovacio.ws.upcnet.com" xmlns:prx="urn:sap.com:proxy:EDU:/1SAI/TAS65AC049944F09BF8D2C4:701:2010/02/19">
                   <n0:cn>joan.ayala</n0:cn>
              </n0:consultaCN>
         </soap-env:Body>
    </soap-env:Envelope>
    People from my systems team, told me that if instead of having:
    soap-env:mustUnderstand="1"
    I had:
    soap-env:mustUnderstand="0"
    Then, It would work properly. Does anybody know if it is possible to change this value of the XML ?
    Or any other solution can be helpful. Thanks !!!

    Hi,
    You can not modify the SOAP Request just like that. But it seems that your provider does not understand the WS-Addressing protocol properties. If this is synchrnous WS call ,you can try via soamanager to eclude addressing protocol via SOAMANAGER transaction.
    Find your logical port , go to Messaging Tab and set Message ID Protocol to "suppressTransfer".
    Best Regards,
    Desi

  • Change SOAP message structure

    Hi,
    We have SOAP adapter sending attachements but as these are always added outside SOAP structure the client needs to have them inside the soap structure.
    They have their own soap structure like below but how can we change this structure and add the attachments in it?
    Finally the structure should be like this :
    <?xml version="1.0" encoding="UTF-8"?>
    <SOAP-ENV:
    <SOAP-ENV:Header>
    <Q-ENV:QHeader xmlns:Q-ENV="http://www.xxx.com/soap/">
    </Q-ENV:QHeader>
    </SOAP-ENV:Header>
    <SOAP-ENV:Body>
    <Q-ENV:QBody xmlns:Q-ENV="http://www.xxx.com/soap/">
    </Q-ENV:QBody>
    <Q-ENV:QAttachment xmlns:Q-ENV="http://www.xxx.com/soap/">
    </Q-ENV:QAttachment>
    </SOAP-ENV:Body>
    </SOAP-ENV:Envelope>
    where bold values are specific structures to be inserted inside SOAP message.
    Best Regards,
    Laurent.

    Hello Abhishek,
    Actually this problem has already been resolved.
    The solution was to uncheck 'Do not use soap envelope' and to change the xsd structure with a new defined structure where the soap envelope was defined as requested by the receiver. This way the SOAP or HTTP adapter can be used the same way.
    Best regards,
    Laurent.

  • Differences between SOAP-ENV and soapenv

    Hi all,
    I am trying to find out why some SOAP request (inbound web services) in siebel work and do not work when the namespace prefix is SOAP-ENV and soapenv,
    For example XML Spy generates "</SOAP-ENV:Envelope>" where as soapUI generates "<soapenv:Envelope>" and some difference in the name spaces.
    Intrestingly other scenarios like invoking inbound web services with WS-Security and with out security had worked fine when tested from XML Spy.
    Why is siebel not accepting the xml from XML Spy for Siebel Authentication scenario?
    Thank you

    Hi, just to let you all know, and please correct me if I am wrong, I have found this on the internet:
    http://mail-archives.apache.org/mod_mbox/ws-axis-user/200308.mbox/%3C00fd01c35ba6$ed85e620$6f01a8c0@TPX21%3E
    Although, the SOAP spec uses the namespace prefixes of SOAP-ENV and
    SOAP-ENC, these prefixes aren't required. You can use any string you like as
    a namespace prefix, just as long as it maps to the appropriate namespace
    name. The reason why the spec bothers with telling us the notational
    conventions is that prefix names (e.g., SOAP-ENV) aren't normative, and the
    spec just happens to be using this set of naming conventions. So the prefix
    name doesn't matter. Only the actual referenced namespace name (e.g.,
    http://schema.xmlsoap.org/soap/envelope/) matters.
    I confirmed this information from an expert from Fusion Middleware and he says that the name-prefix could be anything as long as it is mapped in the namespace (URL from the SOAP XML).

  • BPEL process times out when SOAP-ENV:Fault is received from service.

    Hi - I have a BPEL process identical to one in 10.1.2.0.2. If I execute the same test, the BPEL console displays the following on the console for version 10.1.2.0.2.
    <Response>Clientwhen invoking endpointAddress 'http://galileo.wlgore.com:5555/soap/default', [ISS.0088.9134] Exception occurred while processing the body of the messageAxisFault faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Client faultSubcode: faultString: [ISS.0088.9134] Exception occurred while processing the body of the message faultActor: http://galileo.wlgore.com:5555/soap/default faultNode: faultDetail: {http://www.webMethods.com/2001/10/soap/encoding}exception: <className>com.wm.pkg.art.error.DetailedServiceException</className>
         <message lang="">[ART.117.4002] Adapter Runtime (Adapter Service): Unable to invoke adapter service GORE_DSI_Services.AdaptorService:WorkOrderCompletion. BSFN error code: 2 Number of error: 1 Error item 1 ErrorLevel : 1 ErrorID : 0 DDItem : 0115 lineNumber : 5371 fileName : nd3n1114.c subText : alphaDescription : Error: Work Order Number Invalid glossaryText : CAUSE . . . . The Work Order Number entered does not exist in the Work Order Master file (F4801). RESOLUTION. . Either enter the correct Work Order Number or create a new Work Order for the number on the display. javax.resource.ResourceException: BSFN error code: 2 Number of error: 1 Error item 1 ErrorLevel : 1 ErrorID : 0 DDItem : 0115 lineNumber : 5371 fileName : nd3n1114.c subText : alphaDescription : Error: Work Order Number Invalid glossaryText : CAUSE . . . . The Work Order Number entered does not exist in the Work Order Master file (F4801). RESOLUTION. . Either enter the correct Work Order Number or create a new Work Order for the number on the display. at com.psft.xpi.adapter.erp.service.BSFNExecuteTemplateImpl.execute(BSFNExecuteTemplateImpl.java:306) 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:324) at com.psft.xpi.adapter.erp.service.BSFNExecuteTemplate.execute(BSFNExecuteTemplate.java:134) at com.wm.adk.cci.interaction.WmInteraction.execute(WmInteraction.java:70) at com.wm.pkg.art.ns.AdapterServiceNode.invokeService(AdapterServiceNode.java:596) at com.wm.pkg.art.ns.ARTNSService.baseInvoke(ARTNSService.java:47) at com.wm.app.b2b.server.invoke.InvokeManager.process(InvokeManager.java:554) at com.wm.app.b2b.server.invoke.StatisticsProcessor.process(StatisticsProcessor.java:44) at com.wm.app.b2b.server.invoke.ServiceCompletionImpl.process(ServiceCompletionImpl.java:221) at com.wm.app.b2b.server.invoke.ValidateProcessor.process(ValidateProcessor.java:49) at com.wm.app.b2b.server.ACLManager.process(ACLManager.java:194) at com.wm.app.b2b.server.invoke.DispatchProcessor.process(DispatchProcessor.java:39) at com.wm.app.b2b.server.AuditLogManager.process(AuditLogManager.java:384) at com.wm.app.b2b.server.invoke.InvokeManager.invoke(InvokeManager.java:486) at com.wm.app.b2b.server.invoke.InvokeManager.invoke(InvokeManager.java:359) at com.wm.app.b2b.server.ServiceManager.invoke(ServiceManager.java:246) at com.wm.app.b2b.server.BaseService.invoke(BaseService.java:155) at com.wm.lang.flow.FlowInvoke.invoke(FlowInvoke.java:324) at com.wm.lang.flow.FlowState.invokeNode(FlowState.java:580) at com.wm.lang.flow.FlowState.step(FlowState.java:438) at com.wm.lang.flow.FlowState.invoke(FlowState.java:403) at com.wm.app.b2b.server.FlowSvcImpl.baseInvoke(FlowSvcImpl.java:1749) at com.wm.app.b2b.server.invoke.InvokeManager.process(InvokeManager.java:554) at com.wm.app.b2b.server.invoke.StatisticsProcessor.process(StatisticsProcessor.java:44) at com.wm.app.b2b.server.invoke.ServiceCompletionImpl.process(ServiceCompletionImpl.java:221) at com.wm.app.b2b.server.invoke.ValidateProcessor.process(ValidateProcessor.java:49) at com.wm.app.b2b.server.ACLManager.process(ACLManager.java:194) at com.wm.app.b2b.server.invoke.DispatchProcessor.process(DispatchProcessor.java:39) at com.wm.app.b2b.server.AuditLogManager.process(AuditLogManager.java:384) at com.wm.app.b2b.server.invoke.InvokeManager.invoke(InvokeManager.java:486) at com.wm.app.b2b.server.invoke.InvokeManager.invoke(InvokeManager.java:359) at com.wm.app.b2b.server.ServiceManager.invoke(ServiceManager.java:246) at com.wm.app.b2b.server.ServiceManager.invoke(ServiceManager.java:113) at com.wm.app.b2b.server.Service.doInvoke(Service.java:607) at com.wm.app.b2b.server.Service.doInvoke(Service.java:556) at wm.server.soap.envelope(soap.java:98) at sun.reflect.GeneratedMethodAccessor35.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at com.wm.app.b2b.server.JavaService.baseInvoke(JavaService.java:287) at com.wm.app.b2b.server.invoke.InvokeManager.process(InvokeManager.java:554) at com.wm.app.b2b.server.invoke.StatisticsProcessor.process(StatisticsProcessor.java:44) at com.wm.app.b2b.server.invoke.ServiceCompletionImpl.process(ServiceCompletionImpl.java:221) at com.wm.app.b2b.server.invoke.ValidateProcessor.process(ValidateProcessor.java:49) at com.wm.app.b2b.server.ACLManager.process(ACLManager.java:194) at com.wm.app.b2b.server.invoke.DispatchProcessor.process(DispatchProcessor.java:39) at com.wm.app.b2b.server.AuditLogManager.process(AuditLogManager.java:384) at com.wm.app.b2b.server.invoke.InvokeManager.invoke(InvokeManager.java:486) at com.wm.app.b2b.server.invoke.InvokeManager.invoke(InvokeManager.java:359) at com.wm.app.b2b.server.ServiceManager.invoke(ServiceManager.java:246) at com.wm.app.b2b.server.ServiceManager.invoke(ServiceManager.java:128) at com.wm.app.b2b.server.HTTPSOAPHandler._process(HTTPSOAPHandler.java:457) at com.wm.app.b2b.server.HTTPSOAPHandler.process(HTTPSOAPHandler.java:111) at com.wm.app.b2b.server.Dispatch.run(Dispatch.java:298) at com.wm.util.pool.PooledThread.run(PooledThread.java:105) at java.lang.Thread.run(Thread.java:534) </message>
    </Response>
    With this version, however, we either receive "java.lang.IllegalStateException: "Cannot call setRollbackOnly() current thread is NOT associated with a transaction" or a timeout error.
    I captured the return message from both servers and it is identical (shown below):
    <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance" xmlns:xsd="http://www.w3.org/1999/XMLSchema">
         <SOAP-ENV:Body>
              <SOAP-ENV:Fault>
                   <faultcode>SOAP-ENV:Client</faultcode>
                   <faultstring>[ISS.0088.9134] Exception occurred while processing the body of the message</faultstring>
                   <faultactor>http://galileo.wlgore.com:5555/soap/default </faultactor>
                   <detail xmlns:webM="http://www.webMethods.com/2001/10/soap/encoding">
                        <webM:exception>
                             <webM:className>com.wm.pkg.art.error.DetailedServiceException</webM:className>
                             <webM:message xml:lang="">="">[ART.117.4002] Adapter Runtime (Adapter Service): Unable to invoke adapter service GORE_DSI_Services.AdaptorService:WorkOrderCompletion. BSFN error code: 2 Number of error: 1 Error item 1 ErrorLevel : 1 ErrorID : 0 DDItem : 0115 lineNumber : 5371 fileName : nd3n1114.c subText : alphaDescription : Error: Work Order Number Invalid glossaryText : CAUSE . . . . The Work Order Number entered does not exist in the Work Order Master file (F4801). RESOLUTION. . Either enter the correct Work Order Number or create a new Work Order for the number on the display. javax.resource.ResourceException: BSFN error code: 2 Number of error: 1 Error item 1 ErrorLevel : 1 ErrorID : 0 DDItem : 0115 lineNumber : 5371 fileName : nd3n1114.c subText : alphaDescription : Error: Work Order Number Invalid glossaryText : CAUSE . . . . The Work Order Number entered does not exist in the Work Order Master file (F4801). RESOLUTION. . Either enter the correct Work Order Number or create a new Work Order for the number on the display. at com.psft.xpi.adapter.erp.service.BSFNExecuteTemplateImpl.execute(BSFNExecuteTemplateImpl.java:306) 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:324) at com.psft.xpi.adapter.erp.service.BSFNExecuteTemplate.execute(BSFNExecuteTemplate.java:134) at com.wm.adk.cci.interaction.WmInteraction.execute(WmInteraction.java:70) at com.wm.pkg.art.ns.AdapterServiceNode.invokeService(AdapterServiceNode.java:596) at com.wm.pkg.art.ns.ARTNSService.baseInvoke(ARTNSService.java:47) at com.wm.app.b2b.server.invoke.InvokeManager.process(InvokeManager.java:554) at com.wm.app.b2b.server.invoke.StatisticsProcessor.process(StatisticsProcessor.java:44) at com.wm.app.b2b.server.invoke.ServiceCompletionImpl.process(ServiceCompletionImpl.java:221) at com.wm.app.b2b.server.invoke.ValidateProcessor.process(ValidateProcessor.java:49) at com.wm.app.b2b.server.ACLManager.process(ACLManager.java:194) at com.wm.app.b2b.server.invoke.DispatchProcessor.process(DispatchProcessor.java:39) at com.wm.app.b2b.server.AuditLogManager.process(AuditLogManager.java:384) at com.wm.app.b2b.server.invoke.InvokeManager.invoke(InvokeManager.java:486) at com.wm.app.b2b.server.invoke.InvokeManager.invoke(InvokeManager.java:359) at com.wm.app.b2b.server.ServiceManager.invoke(ServiceManager.java:246) at com.wm.app.b2b.server.BaseService.invoke(BaseService.java:155) at com.wm.lang.flow.FlowInvoke.invoke(FlowInvoke.java:324) at com.wm.lang.flow.FlowState.invokeNode(FlowState.java:580) at com.wm.lang.flow.FlowState.step(FlowState.java:438) at com.wm.lang.flow.FlowState.invoke(FlowState.java:403) at com.wm.app.b2b.server.FlowSvcImpl.baseInvoke(FlowSvcImpl.java:1749) at com.wm.app.b2b.server.invoke.InvokeManager.process(InvokeManager.java:554) at com.wm.app.b2b.server.invoke.StatisticsProcessor.process(StatisticsProcessor.java:44) at com.wm.app.b2b.server.invoke.ServiceCompletionImpl.process(ServiceCompletionImpl.java:221) at com.wm.app.b2b.server.invoke.ValidateProcessor.process(ValidateProcessor.java:49) at com.wm.app.b2b.server.ACLManager.process(ACLManager.java:194) at com.wm.app.b2b.server.invoke.DispatchProcessor.process(DispatchProcessor.java:39) at com.wm.app.b2b.server.AuditLogManager.process(AuditLogManager.java:384) at com.wm.app.b2b.server.invoke.InvokeManager.invoke(InvokeManager.java:486) at com.wm.app.b2b.server.invoke.InvokeManager.invoke(InvokeManager.java:359) at com.wm.app.b2b.server.ServiceManager.invoke(ServiceManager.java:246) at com.wm.app.b2b.server.ServiceManager.invoke(ServiceManager.java:113) at com.wm.app.b2b.server.Service.doInvoke(Service.java:607) at com.wm.app.b2b.server.Service.doInvoke(Service.java:556) at wm.server.soap.envelope(soap.java:98) at sun.reflect.GeneratedMethodAccessor35.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at com.wm.app.b2b.server.JavaService.baseInvoke(JavaService.java:287) at com.wm.app.b2b.server.invoke.InvokeManager.process(InvokeManager.java:554) at com.wm.app.b2b.server.invoke.StatisticsProcessor.process(StatisticsProcessor.java:44) at com.wm.app.b2b.server.invoke.ServiceCompletionImpl.process(ServiceCompletionImpl.java:221) at com.wm.app.b2b.server.invoke.ValidateProcessor.process(ValidateProcessor.java:49) at com.wm.app.b2b.server.ACLManager.process(ACLManager.java:194) at com.wm.app.b2b.server.invoke.DispatchProcessor.process(DispatchProcessor.java:39) at com.wm.app.b2b.server.AuditLogManager.process(AuditLogManager.java:384) at com.wm.app.b2b.server.invoke.InvokeManager.invoke(InvokeManager.java:486) at com.wm.app.b2b.server.invoke.InvokeManager.invoke(InvokeManager.java:359) at com.wm.app.b2b.server.ServiceManager.invoke(ServiceManager.java:246) at com.wm.app.b2b.server.ServiceManager.invoke(ServiceManager.java:128) at com.wm.app.b2b.server.HTTPSOAPHandler._process(HTTPSOAPHandler.java:457) at com.wm.app.b2b.server.HTTPSOAPHandler.process(HTTPSOAPHandler.java:111) at com.wm.app.b2b.server.Dispatch.run(Dispatch.java:298) at com.wm.util.pool.PooledThread.run(PooledThread.java:105) at java.lang.Thread.run(Thread.java:534)</webM:message>
                        </webM:exception>
                   </detail>
              </SOAP-ENV:Fault>
         </SOAP-ENV:Body>
    </SOAP-ENV:Envelope>
    Thanks,
    RM

    We have tested this same scenario for several services and are experiencing the same result... timing out instead of returning the fault. This is a critical issue for us and would prevent us from implementing this software.

  • SOAPException: faultCode=SOAP-ENV:Protocol; msg=Missing content type

    I have a WSDL file for which I have created a Web Service stub/skeleton through jdeveloper(version 10.1.2.3.0). Below is the complete code which has been generated by developer. Now whenever i try to run this file in jdeveloper I get the following exception. Please let me know how to resolve this issue.
    Also error message is received at the following line of code:
    *msg.send(endpointURL, ""<<some URL>>", requestEnv);*
    {code}
    *Exception Message*
    {code}
    [SOAPException: faultCode=SOAP-ENV:Protocol; msg=Missing content type.]
    at org.apache.soap.transport.TransportMessage.read(TransportMessage.java:249)
    at oracle.soap.transport.http.OracleSOAPHTTPConnection.post(OracleSOAPHTTPConnection.java:973)
    at oracle.soap.transport.http.OracleSOAPHTTPConnection.send(OracleSOAPHTTPConnection.java:722)
    at org.apache.soap.messaging.Message.send(Message.java:125)
    at mypackage.NPVNSDLStub.PANDetails(NPVNSDLStub.java:88)
    at mypackage.NPVNSDLStub.main(NPVNSDLStub.java:41)
    {code}
    *Code generated by Jdeveloper*
    {code}
    package mypackage;
    import oracle.soap.transport.http.OracleSOAPHTTPConnection;
    import org.apache.soap.encoding.SOAPMappingRegistry;
    import org.w3c.dom.Element;
    import java.util.Vector;
    import oracle.jdeveloper.webservices.runtime.WrappedDocLiteralStub;
    import java.net.URL;
    import org.apache.soap.Envelope;
    import org.apache.soap.Body;
    import org.apache.soap.messaging.Message;
    import java.util.Properties;
    * Generated by the Oracle JDeveloper 10g Web Services Stub/Skeleton Generator.
    * Date Created: Wed Feb 29 18:39:33 IST 2012
    * WSDL URL: file:/C:/WS/sample.wsdl
    public class NPVNSDLStub extends WrappedDocLiteralStub
    public NPVNSDLStub()
    m_httpConnection = new OracleSOAPHTTPConnection();
    public static void main(String[] args)
    try
    NPVNSDLStub stub = new NPVNSDLStub();
    stub.PANDetails("aaaaa8888a");
    catch(Exception ex)
    ex.printStackTrace();
    private String _endpoint = "<<some URL>>";
    public String getEndpoint()
    return _endpoint;
    public void setEndpoint(String endpoint)
    _endpoint = endpoint;
    private OracleSOAPHTTPConnection m_httpConnection = null;
    private SOAPMappingRegistry m_smr = null;
    public String PANDetails(String Request) throws Exception
    URL endpointURL = new URL(_endpoint);
    Envelope requestEnv = new Envelope();
    Body requestBody = new Body();
    Vector requestBodyEntries = new Vector();
    String wrappingName = "PANValidationRequest";
    String targetNamespace = "<<namespace url>>";
    Vector requestData = new Vector();
    requestData.add(new Object[] {"Request", Request});
    requestBodyEntries.addElement(toElement(wrappingName, targetNamespace, requestData, false));
    requestBody.setBodyEntries(requestBodyEntries);
    requestEnv.setBody(requestBody);
    Message msg = new Message();
    msg.setSOAPTransport(m_httpConnection);
    *msg.send(endpointURL, "<<some URL>>", requestEnv);*
    Envelope responseEnv = msg.receiveEnvelope();
    Body responseBody = responseEnv.getBody();
    Vector responseData = responseBody.getBodyEntries();
    return (String)fromElement((Element)responseData.elementAt(0), java.lang.String.class);
    {code}
    Edited by: EJP on 2/03/2012 17:22: added code tags, but your indentation needs fixing                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

    Kishore,
    See the links referenced in these threads.
    Web Services and R12
    Re: Web Services and R12
    Integrated SOA Gateway
    Re: Integrated SOA Gateway
    Regards,
    Hussein

  • Changing the namespace prefix in OSB body content

    I would like to change the namespace prefix of the namespace in the content of the Body in OSB (Replacing g: with dg:)
    For example:
    <g:Information>
    <g:firtName>John<g:firstName>
    <nc:date>1970-01-01<nc:date>
    </g:Information>
    should become
    <dg:Information>
    <dg:firtName>John<dg:firstName>
    <nc:date>1970-01-01<nc:date>
    </dg:Information>
    Any idea how can I do this?

    Re: Namespace replace/rename issue in ALSB
    Regards,
    Anuj

  • Remove SOAP-ENV tags from xml RECEIVER RESPONSE payload (XSL needed?)

    Hi
    I need to remove some tags from the payload of a RESPONSE message in a SOAP webservice scenarion.
    The received payload looks like this:
    before -
    <?xml version="1.0" encoding="UTF-8"?>
    <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" xmlns:ns="http://tempuri.org/what.xsd">
    <SOAP-ENV:Body>
      <ns:crejob-resp>
        <response-data>
          <Result>0</Result>
        </response-data>
      </ns:crejob-resp>
    </SOAP-ENV:Body>
    </SOAP-ENV:Envelope>
    after it should look like this
    after -
    <?xml version="1.0" encoding="UTF-8"?>
    <crejob-resp>
       <response-data>
          <Result>0</Result>
       </response-data>
    </crejob-resp>
    I was thinking of using XSL as a "pre-burner" step before my mapping program but need help to XSL on this.
    Hope somebody can help
    Cheers

    I am sorry to be such a pain in the a..
    But I still get the wrong result (with your first option, 2nd option is not working):
    <?xml version="1.0" encoding="UTF-8"?>
    <crejob-resp>
      <response-data>0<Result>0</Result></response-data>
    </crejob-resp>
    Hope u can help again
    and also my source can look like: (unbounded on response-data)
    <?xml version="1.0" encoding="UTF-8"?>
    <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" xmlns:ns="http://tempuri.org/what.xsd">
    <SOAP-ENV:Body>
    <ns:crejob-resp>
       <response-data>
          <Result>0</Result>
       </response-data>
       <response-data>
          <Result>1</Result>
       </response-data>
       <response-data>
          <Result>2</Result>
       </response-data>
    </ns:crejob-resp>
    </SOAP-ENV:Body>
    </SOAP-ENV:Envelope>
    Edited by: Bowie on Jul 2, 2009 3:08 PM

  • XI SOAP-ENV request!!!

    Hi all,
    I have a problem that is not resolved yet and I’m feeling quite worried because I used up all the hypotheses that knew!!! I did a test that it gave a light, where problem are placed, but I don’t know how I can fix it. I hope that somebody could help me…
    Calling the web service directly via an external tool as a web service client using soap sender adapter, the request SOAP-ENV is:
    <?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:xs="http://www.w3.org/2001/XMLSchema"><SOAP-ENV:Body SOAP-ENV:encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'><b><ns1:send xmlns:ns1='prt:service:pt.edp.sync'><send_1_param2 xsi:type='xs:string'>teste</send_1_param2></ns1:send></b></SOAP-ENV:Body></SOAP-ENV:Envelope>
    And it works fine!
    Using the same external tool also as a web service client, but now trough XI, the SOAP-ENV request is a little bit different: (the tag with send method it lack!!!)
    <b>…
    <ns1:send_1_param2 xmlns:ns1='prt:service:pt.edp.sync'>teste</ns1:send_1_param2>
    …</b>
    It seams that method <b>“send”</b> is not being invoked, if you look to the previous SOAP-ENV you see the tag with method <b><ns1:send …></b> before tag with input parameter <b><ns1:send_1_param2…></b> I think that this tag should come into soap request invoked by XI. For one reason that I don’t know, this tag doesn’t come... and when I look to the log of web service provider invoked from XI (is a SAP EP) the log gives me this message:
    <b>Method with name send_1_param2 is not defined in wsdl file
    [EXCEPTION]     
    java.lang.NoSuchMethodException</b>
    It seams that XI wants to invoke a method with a wrong name <b>“send_1_param2”</b>; the method to be invoked should be <b>“send”</b> and not <b>“send_1_param2”</b>!!! Can anybody explain me why this happening? Did I forget something, some configuration steps?
    Any help are appreciated.
    Regards,
    Ricardo.

    Hi guys,
    Here the answer… like I promise!
    All I get is a little explanation about web services rpc-styled in SOAP FAQ (note 856597) under question: “Q: Can I convert an RPC styled WSDL to a document styled WSDL?”
    Some RPC styled service implementations have problems with such non conformant SOAP service. Therefore, we also need to adjust the message accordingly.
    First we need to find what kind of elements (tags) are missing on the soap request/response and add these elements (adjust the message accordingly).
    I fixed my problem using XSLT extension (ABAP Engine). All I did was following the steps provided in the Robert Eijpe weblog /people/r.eijpe/blog/2005/11/04/using-abap-xslt-extensions-for-xi-mapping
    But you also could create your own request using graphical mapping and add the missing tags. In my case a just only needed to add <operator> tag to invoke the right method.
    I test with both (XSLT and Graphical mapping) and it works
    I hope it helps anybody with identical problems.
    Cheers,
    Ricardo.

  • OSB not adding SOAP-ENV:encodingStyle attribute, invoke fails

    Hi, I have a WSDL that when inspected by XMLSpy, creates the following payload.
    <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:logOut xmlns:m="http://konnex.aarp.org/wsdl/HartfordServicesSecure" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
                   <String_1 xsi:type="xsd:string">String</String_1>
              </m:logOut>
         </SOAP-ENV:Body>
    </SOAP-ENV:Envelope>
    When I try to invoke this via OSB, I get the following message.
    <env:Envelope env:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:enc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns0="http://konnex.aarp.org/types/HartfordServicesSecure">
         <env:Body>
              <env:Fault>
                   <faultcode>env:Client</faultcode>
                   <faultstring>JAXRPCTIE01: caught exception while handling request: unexpected encoding style: expected=http://schemas.xmlsoap.org/soap/encoding/, actual=</faultstring>
              </env:Fault>
         </env:Body>
    </env:Envelope>
    The reason is because OSB is not putting in the *SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/* attribute. I verified this in obtunnel.
    I'm currently trying to work around this in OSB using xquery but so far I've had no luck.
    Thanks in Advance.

    hi,
    I have two policies applies on business service :
    1. Password digest policy
    <wsp:Policy wsu:Id="PasswrdDigest" xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy" xmlns:wssp="http://www.bea.com/wls90/security/policy" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
    <wssp:Identity>
              <wssp:SupportedTokens>
                   <wssp:SecurityToken TokenType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#UsernameToken">
                   <wssp:UsePassword Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordDigest"/>
              </wssp:SecurityToken>
              </wssp:SupportedTokens>
              </wssp:Identity>
    </wsp:Policy>
    2. Message Interval Policy
    <wsp:Policy wsu:Id="MessageAge" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy">
    <wssp:MessageAge Age="60" xmlns:wssp="http://www.bea.com/wls90/security/policy"/>
    </wsp:Policy>
    Please share your views.

Maybe you are looking for

  • Available References that need deployed within Visual Studio 6.0

    Currently, we are still using the Visual Studio 6.0 to build small database business applications that connect to a Microsoft SQL Server 2008 database. The application has been completed for the most part, and there is one report that has been develo

  • Prob in data loading in 0IC_C03

    Hi we are loading data in infocube 0IC_C03.. we are having a doubt like we are having different sites some of them are going to live this month so we are initialising 2LIS_03_BX through MCNB but after all the steps of initialisation when other sites

  • Error: You are not one of the possible agents of task 'WS99900032'

    Hi frnds,     I have copied the std leave request workflow WS12300111 into WS99900032 and assigned in the SPRO setting. The approvers are determined using the workflow rule (PFAC) and its not determined from Org Management. But when i tried to apply

  • Portal Runtime Error,See the details for the exception ID in the log file.

    Hi, I am Working on EP 7.0 .today am Getting this Error. Portal Runtime Error An exception occurred while processing a request for : iView : N/A Component Name : N/A The exception was logged. Inform your system administrator.. See the details for the

  • Iphone will not sync with iTunes!!!! PLEASE HELP!!!

    My iphone has always synced up with my macbook no problem but recently when I plug it in and walk away I come back and the sync bar is half full and will not go any further.  I have tried turing off airport and restarting the phone and comp but nothi