NameSpace Prefix in SOAP Request

How can I create SOAP Request without namespace prefix from a WSDL file.
I am using ClientGen (WL 7.0, SP2)
My Application doesn't accept namespace prefix.
Thanks

How can I create SOAP Request without namespace prefix from a WSDL file.
I am using ClientGen (WL 7.0, SP2)
My Application doesn't accept namespace prefix.
Thanks

Similar Messages

  • Remove Namespace Prefix from SOAP response

    Hi
    I have a File-XI-SOAP scenario. I pass data from the file to SOAP. If the data is good, I receive a Response and If the data is bad I get an fault message called AccountUtilsException. But I am not able to read this message properly.
    The message we receive from the webservice is
    <?xml version="1.0" encoding="UTF-8" standalone="yes" ?><!-- Request Message Mapping --> <edu.purdue.account.AccountUtils.AccountUtilsException xsi:type='ns1:AccountUtilsException' xmlns:ns1='urn://www.purdue.edu/apps/account/ns'><message xsi:type='soapenc:string' xmlns:soapenc='http://schemas.xmlsoap.org/soap/encoding/'>lastName is a required field</message><type xsi:type='xsd:int'>5</type></edu.purdue.account.AccountUtils.AccountUtilsException>
    In sxmb_moni when we try to read this message I get the error Reference to undeclared namespace prefix: 'xsi'.
    I tried removing the xsi prefix using anonymizer.acceptNamespaces = urn://www.purdue.edu/apps/account/ns ns1.
    I tried this too urn://www.purdue.edu/apps/account/ns ''.
    the AF_MODULES/AnonymizerBean is second in my processing sequence immediately following the XISOAPAdapterBean.
    The problem still persists. Any suggestions? The webservice people are not willing to remove the xsi:
    Thanks,
    Jahnavi

    The XMLAnonymizerBean does not consider namespace prefixes in attributes. So you should allow also those prefixes and namespaces which are used here.
    Without the XMLAnonymizerBean the xsi namespace declaration should be available as well, if not it is a bug. Check if you have applied the latest patch and open an OSS ticket, if this is the case.
    Regards
    Stefan

  • Namespace prefix in SOAP Elements causes problems in XI

    Hi guys,
    I'm using code generated by NW Developer Studio for use inside Portal components acting as a web service consumer. The problem is that the code generated includes a namespace prefix for each element in the body of the message, but XI doesn't like the namespace prefixes and throws back a DeliveryException.
    The SOAP message created by the generated NWDS code is:
    <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wn3="http://www.w3.org/1999/XMLSchema" xmlns:wn2="http://www.w3.org/2000/10/XMLSchema" xmlns:wn1="http://www.w3.org/2001/XMLSchema" xmlns:wn0="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:wn4="http://allieddomecq.com/poc" xmlns:tns="http://allieddomecq.com/poc">
         <SOAP-ENV:Body>
              <wn4:PortalSOAP_MT_Request>
                   <wn4:CustomerIdentifier>0001000064</wn4:CustomerIdentifier>
                   <wn4:SalesOrganization>ES50</wn4:SalesOrganization>
                   <wn4:SystemIdentifier>R3D</wn4:SystemIdentifier>
              </wn4:PortalSOAP_MT_Request>
         </SOAP-ENV:Body>
    </SOAP-ENV:Envelope>
    The problem is the "wn4" prefixes on the CustomerIdentifier, SalesOrganization, and SystemIdentifier tags. When we send the soap request from XML Spy without the prefixes, the response comes back OK with the expected data.
    I've had a very good look around the generated code - the serializers for creating the soap request - but could not find what exactly might be changed to leave off the prefixes.
    Alternatively, is there something I could ask our XI consultant to do, to make his component accept the request with the redundant prefixes in the tags?
    Many thanks for any advice/help,
    Laura

    Hi Laura,
    you have to realize that the two documents
    <ns:CustomerRecord xmlns:ns="http://company.com">
    <ns:CustomerNumber> </ns:CustomerNumber>
    <ns:CustomerDetails> </ns:CustomerDetails>
    </ns:CustomerRecord>
    and
    <ns:CustomerRecord xmlns:ns="http://company.com">
    <CustomerNumber> </CustomerNumber>
    <CustomerDetails> </CustomerDetails>
    </ns:CustomerRecord>
    from an XMl point of view have totally fifferent structure. Thus, a mapping which is able to deal with the first structure will fail for the second and vice versa.
    Surely, both structures somehow can carry the same information, but they do this with different languages (Maybe you can compare this to the fact, that you may deliver the same information in English or in German language).
    When you model the structure in Integration Repository using datatypes and message types (what I think you did), you will always get a structure that looks like the second one. This is just a convention (like the convention that all information in this forum should be presented in English). When defining a message mapping for this structure it also relies on this fact and thus will not understand the other kind of document.
    External Definitions are more flexible. They are also able to understand structures that are modelled the other way. This greater flexibility is due to the fact that External Definitions were designed to understand structures that come from an external world where different conventionts might be used.
    To come to a conclusion: If the structure you have to deal with has been defined externally then it is not intended that you model it inside the Integration Builder using datatypes and message types. In this case the external source should provide a description of the message as XSD, WSDL, or DTD. You upload this as External Definition, and everything works fine.
    If you have designed the structure yourself, you can model it with datatypes and message types. But then you will always get a structure which looks like the second one. In this case you should make sure that all other participants in the game also stick to that structure. Then everything will be fine, too.
    Greetings Stephan

  • JDeveloper 10.1.3 - Disabling ns0: namespace prefix in soap body children ?

    I am attempting to use a PeopleSoft web service. However, the PeopleSoft web service does not recognize operations which have a namespace prefix. Using visual studio, namespace prefixes are not used in the child elements of the soap body element. I am able to call the service using visual studio.
    JDeveloper 10.1.3 uses a namespace prefix for children of the body element which is recommended by the soap spec. However, I need to disable that behavior so that I can actually get the program working with PeopleSoft.
    Can anyone tell me if there is an easy way to disable the ns0: prefix that is used by the generated web service proxy stub? I have traced through the generated proxy code but I do not see any properties that can be modified. The only thing I can think of is to modify the generated code but I do not want to go that route.
    Thanks,
    Rich

    Delete the NS0: related text, in JDev, from your WSDL and it should work. I had the same problem with .NET not liking it also.
    Keep in mind you'll have to tweak the WSDL again if you regenerate it.
    You sure you're using 10.1.3? I upgraded and it shows the NS0: as a problem in existing projects. I'm working on the latest, production download so maybe it's been corrected.

  • Manual soap request results in SBL-ODU-01009 error

    Hopefully someone can assist here - I am making a manual soap request to which I receive a http 400 -bad request with the SBL-ODU-01009 error in the response header. I cannot find any reference to this error in any of the documentation that I have. Does anyone know what the error means, or know of a place to look for the answer?
    Thank you in advance,
    JJ

    I did a little more sleuthing and realized that the error text was being sent back to me as the body of the http 400 error. The 01009 error is related to a bad or unresolvable namespace in the soap request. So if anyone gets this error, that's what it means. I had a errant space character in the middle of one of my namespace definitions.

  • Missing namespace prefix in the soap body

    Hello
    The soap body that is produced along with soap header for my webservice. I
    am the client talking to a server. The first piece in RED color is what
    weblogic generates to send to the client but does NOT work. The one below
    though works fine which is what I manipulated by hand to send to the
    server. I have no idea why weblogic drops the namespace prefix in the
    BODY.
    -Narahari
    The message is as shown below
    POST /FS HTTP/1.1
    Host: asgappsrv10:6211
    Content-Type: text/xml; charset=utf-8
    Connection: close
    SOAPAction: "ListDomains"
    <?xml version="1.0" encoding="utf-8"?>
    <env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <env:Header>
    <n1:Credentials xmlns:n1="urn:criticalpath:fs:api:1.0"
    xsi:type="n1:Credentials">
    <Username xsi:type="xsd:string">admin@default</Username>
    <Password xsi:type="xsd:string">password</Password>
    <SessionId xsi:nil="true"/>
    </n1:Credentials>
    </env:Header>
    <env:Body
    env:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
    <Fulfill xmlns:n2="urn:criticalpath:fs:api:1.0"
    xsi:type="n2:Fulfill">
    <Request xsi:type="xsd:string">ListDomains</Request>
    <RequestAttributes soapenc:arrayType="n2:Attribute[0]"/>
    <Async xsi:type="xsd:boolean">false</Async>
    </Fulfill>
    </env:Body>
    </env:Envelope>
    When you see the data carefully, the env:Body has the Fulfill element. But
    it does have a namespace prefix on it. This causes the call to fail. If I
    change the above segment manally to look like
    POST /FS HTTP/1.1
    Host: asgappsrv10:6211
    Content-Type: text/xml; charset=utf-8
    Connection: close
    SOAPAction: "ListDomains"
    <?xml version="1.0" encoding="utf-8"?>
    <env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <env:Header>
    <n1:Credentials xmlns:n1="urn:criticalpath:fs:api:1.0"
    xsi:type="n1:Credentials">
    <Username xsi:type="xsd:string">admin@default</Username>
    <Password xsi:type="xsd:string">password</Password>
    <SessionId xsi:nil="true"/>
    </n1:Credentials>
    </env:Header>
    <env:Body
    env:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
    <n2:Fulfill xmlns:n2="urn:criticalpath:fs:api:1.0"
    xsi:type="n2:Fulfill">
    <Request xsi:type="xsd:string">ListDomains</Request>
    <RequestAttributes soapenc:arrayType="n2:Attribute[0]"/>
    <Async xsi:type="xsd:boolean">false</Async>
    </n2:Fulfill>
    </env:Body>
    </env:Envelope>

    Hi All,
    we are also facing the same issue, Please provide the solution if anyone knows. We are also using the SOA Suite 11g Version.

  • SOAP request configuration (namespaces)

    Hi there,
    I am trying to consume a web service via CAF/Netweaver which requests a certain name space. here an extract of the wsdl.
    - <wsdl:types>
    - <s:schema elementFormDefault="qualified" targetNamespace="http://www.serviceobjects.com/">
    - <s:element name="GetAddressPlus">
    - <s:complexType>
    - <s:sequence>
      <s:element minOccurs="0" maxOccurs="1" name="Address" type="s:string" />
      <s:element minOccurs="0" maxOccurs="1" name="Address2" type="s:string" />
    Unfortunately, the SOAP request which gets created by the Netweaver SOAP adapter (which is correct) can't be understood by the service provider (see pns:GetAddressPlus)
    <?xml version="1.0" encoding="utf-8"?>
    <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
      <SOAP-ENV:Body>
        <pns:GetAddressPlus xmlns:pns="http://www.serviceobjects.com/">
          <pns:Address>1016 Poplar Drive</pns:Address>
          <pns:City>Collierville</pns:City>
          <pns:State>TN</pns:State>
          <pns:PostalCode>38017</pns:PostalCode>
    For the service to work properly, the namespace shall not be attached to the parameters, but just added to the parent element of the message, see below (only GetAddressPlus, no leading namespace)
    <?xml version="1.0" encoding="utf-8"?>
    <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
      <SOAP-ENV:Body>
        <GetAddressPlus xmlns="http://www.serviceobjects.com/">
          <Address>1016 Poplar Drive</Address>
          <City>Collierville</City>
          <State>TN</State>
          <PostalCode>38017</PostalCode>
    Is there a workaround to configure the SOAP generation in such a way, that no namespaces are used within the SOAP message ?
    Thx, Nick
    Edited by: Nick Laqua on Aug 10, 2009 9:00 PM

    Hi,
    Using SOAP UI  you can type whatever you want to type in request page (SOAP Message), Do not type in form but in xml.
    So in first attempt type SOAP Message with prefix,
    in Second attempt modify SOAP request without prefix manually.
    Please post error message (as you said "that the request can't have zero length") this means Service is not receiving request at all, else message should be about "Not well formed" message.
    I believe that this error is not really related to formatting of request and namespace
    Please try it with SOAP UI.
    Regards,
    Gourav

  • How can I change namespace prefix for JAX-RPC client request?

    I'm creating a JAX-RPC client to invoke a RPC/encoded web service. The service was generated from a ColdFusion program and for some reason when the SOAP namespace prefix is anything but "soapenv" it returns text/html instead of text/xml. Currently the client is sending requests with the prefix "env" and I'd like to change it to "soapenv".
    I created a type of javax.xml.rpc.handler.GenericHandler and attempted to do the follow:
    @Override public boolean handleRequest(MessageContext p1) {
         SOAPMessage msg = ((SOAPMessageContext) p1).getMessage(); 
         try {
              SOAPPart part = msg.getSOAPPart();
              SOAPEnvelope envelope = part.getEnvelope(); 
              envelope.setPrefix("soapenv"); 
              msg.saveChanges(); 
         } catch(SOAPException ex) {
              // TODO
              return false;
         return true;
    However I get the following exception:
    java.rmi.RemoteException: SOAPFaultException - FaultCode [{http://schemas.xmlsoap.org/soap/envelope/}Server] FaultString [UNIMPLEMENTED ] FaultActor [null] Detail [<detail><bea_fault:stacktrace xmlns:bea_fault="http://www.bea.com/servers/wls70/webservice/fault/1.0.0">java.lang.AssertionError: UNIMPLEMENTED
    at weblogic.xml.domimpl.NodeImpl.setPrefix(NodeImpl.java:173)
    at test.MyHandler.handleRequest(MyHandler.java:33)
    at weblogic.wsee.handler.JaxrpcHandlerChain.handleRequest(JaxrpcHandlerChain.java:58)
    at weblogic.wsee.ws.dispatch.server.JaxrpcChainHandler.handleRequest(JaxrpcChainHandler.java:102)
    at weblogic.wsee.handler.HandlerIterator.handleRequest(HandlerIterator.java:141)
    at weblogic.wsee.handler.HandlerIterator.handleRequest(HandlerIterator.java:107)
    at weblogic.wsee.ws.dispatch.client.ClientDispatcher.dispatch(ClientDispatcher.java:132)
    at weblogic.wsee.ws.WsStub.invoke(WsStub.java:87)
    at weblogic.wsee.jaxrpc.StubImpl._invoke(StubImpl.java:341)
    at test.Approvedsuppliers_Wrap_Stub.echo(Approvedsuppliers_Wrap_Stub.java:31)
    at test.Approvedsuppliers_WrapPortClient.echo(Approvedsuppliers_WrapPortClient.java:130)
    at test.Approvedsuppliers_WrapPortClient.main(Approvedsuppliers_WrapPortClient.java:43)
    Is there any workaround? I appreciate any feedback.
    Thanks, Bill

    What I ended up doing is converting the SOAP message to a string, replacing the namespace prefix and converting it back to a SOAP message.
    @Override
       public boolean handleRequest(MessageContext messageContext) {
          SOAPMessageContext soapMessageContext = (SOAPMessageContext) messageContext;
          SOAPMessage soapMessage = soapMessageContext.getMessage();
          String soapString = convertSOAPToString(soapMessage);
          soapString = soapString.replaceAll("env:", "soapenv:");
          soapString = soapString.replaceAll("xmlns:env", "xmlns:soapenv");
          SOAPMessage newSoapMessage = convertStringToSOAP(soapString);
          MimeHeaders mimeHeader = newSoapMessage.getMimeHeaders();
          mimeHeader.setHeader("SOAPAction", "");
          soapMessageContext.setMessage(newSoapMessage);
          return true;
       private String convertSOAPToString(SOAPMessage soapMessage) {
          StringWriter stringWriter = null;
          try {
             stringWriter = new StringWriter();
             StreamResult streamResult = new StreamResult(stringWriter);
             TransformerFactory transformFactory = TransformerFactory.newInstance();
             Transformer transformer = transformFactory.newTransformer();
             transformer.transform(new DOMSource(soapMessage.getSOAPPart()), streamResult);
          } catch (TransformerException e) {
             throw new RuntimeException(e);
          } finally {
             close(stringWriter);
          return stringWriter.toString();   
       private SOAPMessage convertStringToSOAP(String soapString) {
          SOAPMessage soapMessage = null;
          ByteArrayInputStream byteInputStream = null;
          try {
             MessageFactory msgFactory = MessageFactory.newInstance();
             soapMessage = msgFactory.createMessage();
             SOAPPart soapPart = soapMessage.getSOAPPart();
             // Load the SOAP text into a stream source
             byte[] buffer = soapString.getBytes();
             byteInputStream = new ByteArrayInputStream(buffer);
             StreamSource source = new StreamSource(byteInputStream);
             // Set contents of message
             soapPart.setContent(source);       
          } catch (SOAPException e) {
             throw new RuntimeException(e);
          } finally {
             close(byteInputStream);
          return soapMessage;
       private void close(Closeable closeable) {
          if(closeable != null) {
             try {
                closeable.close();
             } catch (IOException e) {
                // TODO

  • Remove namespace prefix with the XMLAnonymizerBean is possible at SOAP Adap

    Hello,
    I am wondering is it possible Remove namespace prefix with the XMLAnonymizerBean at SOAP Receiver Adaptor?
    Thanks

    Hi Rajiv,
    Pl. go through this blog:
    /people/stefan.grube/blog/2007/02/02/remove-namespace-prefix-or-change-xml-encoding-with-the-xmlanonymizerbean
    Also if you want to use this at sender side, SOAP adapter will not support. Please check stefans reply in this thread:
    XMLAnonymizerBean doesnt work
    Regards,
    ---Satish

  • Namespace prefix for Security elements being removed from SOAP Header

    Hello, I'm seeing a strange problem when accessing a web service using two different Netbeans projects.
    If I use a Netbeans Java Application, add the Web Client Reference , add the web client code, all works fine and the wsse:Security element looks like this:
    <S:Header>
    <ns4:Security xmlns:ns2="IAMP" xmlns:ns3="urn:realops.com:amp:workflow" xmlns:ns4="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
    <ns4:UsernameToken>
    <ns4:Username>admin</ns4:Username>
    <ns4:Password>admin123</ns4:Password>
    </ns4:UsernameToken>
    </ns4:Security>
    However if I do a similar sort of thing but access the web service via a Web Application, the namespace prefix is removed from all child elements wsse:Security like so:
    <S:Header>
    <ns4:Security xmlns:ns2="IAMP" xmlns:ns3="urn:realops.com:amp:workflow" xmlns:ns4="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
    <UsernameToken>
    <Username>admin</Username>
    <Password>admin123</Password>
    </UsernameToken>
    </ns4:Security>
    Which causes an authentication exception.
    The question is, why, when the wsdl are exactly the same for both projects , is the namespace prefix removed from the web app?
    Thanks in advance,
    jsz.

    Hello, I'm seeing a strange problem when accessing a web service using two different Netbeans projects.
    If I use a Netbeans Java Application, add the Web Client Reference , add the web client code, all works fine and the wsse:Security element looks like this:
    <S:Header>
    <ns4:Security xmlns:ns2="IAMP" xmlns:ns3="urn:realops.com:amp:workflow" xmlns:ns4="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
    <ns4:UsernameToken>
    <ns4:Username>admin</ns4:Username>
    <ns4:Password>admin123</ns4:Password>
    </ns4:UsernameToken>
    </ns4:Security>
    However if I do a similar sort of thing but access the web service via a Web Application, the namespace prefix is removed from all child elements wsse:Security like so:
    <S:Header>
    <ns4:Security xmlns:ns2="IAMP" xmlns:ns3="urn:realops.com:amp:workflow" xmlns:ns4="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
    <UsernameToken>
    <Username>admin</Username>
    <Password>admin123</Password>
    </UsernameToken>
    </ns4:Security>
    Which causes an authentication exception.
    The question is, why, when the wsdl are exactly the same for both projects , is the namespace prefix removed from the web app?
    Thanks in advance,
    jsz.

  • Problem with namespace prefix

    Dear all,
    I'm using code generated by NW Developer Studio  2004s for use inside Portal components acting as a web service consumer. The problem is that the code generated includes a namespace prefix for each element in the body of the message, but ECC (ERP 6.0) doesn't like the namespace prefixes (the namespace was not recognised by the ECC mapping tool.)and throws back a DeliveryException.
    The SOAP message created by the generated NWDS code is:
    <?xml version="1.0" encoding="UTF-8" ?>
    - <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wn3="http://www.w3.org/1999/XMLSchema" xmlns:wn2="http://www.w3.org/2000/10/XMLSchema" xmlns:wn1="http://www.w3.org/2001/XMLSchema" xmlns:wn0="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:wn4="urn:sap-com:document:sap:rfc:functions" xmlns:tns="urn:sap-com:document:sap:rfc:functions">
    - <SOAP-ENV:Body>
    - <wn4:Z_APPOINTMENT_GET_JCO_ORG>
      <wn4:DATE_FROM>2007.01.01</wn4:DATE_FROM>
      <wn4:DATE_TO>2008-02-02</wn4:DATE_TO>
      <wn4:USERID>EGREO</wn4:USERID>
      </wn4:Z_APPOINTMENT_GET_JCO_ORG>
      </SOAP-ENV:Body>
      </SOAP-ENV:Envelope>
    I've had a very good look around the generated code - the serializers for creating the soap request - but could not find what exactly might be changed to leave off the prefixes.
    I am using portal server 2004s
    Many thanks for any advice/help
    Reza

    I find out how should I do that.
    /Reza

  • Namespace prefix problem in http adapter response

    Hi All;
    I use http adapter to call a third party service. I  post a XML request and it responses me as XML again..
    But when I call the proxy, it gives mapping error in response. because it expects namespace prefix in the first tag of the response xml.
    How can I get this xml back without any namespace?
    My response xml likefollowing  
    <?xml version="1.0" encoding="UTF-8" ?>
        <OrderLines>
           <item>
               <DocumentNo>99000140</DocumentNoitem>
        </item> 
    </OrderLines>
    but the adapter expects as
    <?xml version="1.0" encoding="UTF-8" ?>
        <ns0:OrderLines xmlns:ns0="http://company.com">
           <item>
               <DocumentNo>99000140</DocumentNoitem>
        </item> 
    </ns0:OrderLines>

    You can use the XMLAnonymizer module with your adapter (if you are using SOAP adapter for the call as HTTP adapter does not support modules) to remove the namespaces. Kindly check the following blogs for modules:
    Gabriel Sagaya Selvam - Standard Adapter Framework modules in PI 7.1 u2013Part 1
    /people/gabrielsagayaselvam.panneerselvam/blog/2009/12/07/standard-adapter-framework-modules-afmodules-in-pi-71-150part-1
    Gabriel Sagaya Selvam - Standard Adapter Framework modules in PI 7.1 u2013Part 2
    /people/gabrielsagayaselvam.panneerselvam/blog/2009/12/07/standard-adapter-framework-modules-afmodules-in-pi-71-150part-2
    Regards,
    Gökhan

  • Missing Namespace with the SOAP msg sent by C#

    Hi All,
    The wsdl file is generated by SAP XI. I used the XMLSpy to test it and get successful response.
    Then I used wsdl.exe of .net 2.0 sdk to generate the C# proxy class, and use csc.exe to compile it to a dll, and then refer it in the project. After sent the soap message by C#, the XI shows the message is wrong, then I compare this soap envelop body with the one I sent by the XMLSpy as follow:
    C#:
    <MT_PP_014_PrdOrderGoodsRcv xmlns="http://mycompany.com/xi/sap/system/pp">
    <content>
    </content>
    </MT_PP_014_PrdOrderGoodsRcv>
    XMLSPY:
    <m:MT_PP_014_PrdOrderGoodsRcv xmlns:m="http://mycompany.com/xi/sap/system/pp">
    <content>
    </content>
    </m:MT_PP_014_PrdOrderGoodsRcv>
    so it is the namespace, according the xml generated by C#, the MT_PP_014_PrdOrderGoodsRcv element isn't inlucded in the namespace http://mycompany.com/xi/sap/system/pp, which cause the error.
    Anyone know how to fix it?
    Thanks and B'Rgds,

    Hi YiNing,
    the message created by C# is indeed wrong.
    Check that in XMLSpy message, the default namespace is never set and that the message namespace is set to prefix "m" and that only the root tag is included in this namespace. All the other tags have no namespace (since they are not attached to any namespace prefix) or have the default namespace, which was not set.
    On the other hand, in the C# message, the default namespace is set in the root tag. The root tag is related to the default namespace (it has no prefix) and hence it has the proper namespace. However, the other tags are also related to the default namespace (no namespace prefix) which was set. So these other tags are the erroneous ones.
    Try to check that in your proxy, but it seems like a bug in the proxy generator application.
    Just as a test, send the message from C# in a request from XMLSpy (replace the automatically generated message inside SOAP Body). The same error would be expected.
    Also as a test, send this message in XMLSpy:
    <MT_PP_014_PrdOrderGoodsRcv xmlns="http://mycompany.com/xi/sap/system/pp">
    <content xmlns="">
    </content>
    </MT_PP_014_PrdOrderGoodsRcv>
    Regards,
    Henrique.

  • Calling SOAP Request from XML Spy

    I have published PLSQL web service at Oracle 10g AS.
    The web service runs at http://localhost:7201/reqProcess with processRequest as method being exposed.
    This web service takes the string as input and return XMLTYPE as out parameter.
    Now When I am trying to pass SOAP XML from XMLSPY to above url I am getting folloing errors.
    1) I get http error: couldnot post the file /reqProcess/ on server 'localhost' (500)
    2) I get SOAP Error as
    <?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>
              <SOAP-ENV:Fault>
                   <faultcode>SOAP-ENV:Client</faultcode>
                   <faultstring>No Deserializer found to deserialize a &apos;http://wsi.nat.zz.com/2005/06/StandardHeader/:m0:standardHeader&apos; using encoding style &apos;null&apos;. [java.lang.IllegalArgumentException]</faultstring>
                   <faultactor>/reqProcess</faultactor>
              </SOAP-ENV:Fault>
         </SOAP-ENV:Body>
    </SOAP-ENV:Envelope>
    Please help..

    Hi Quwang ur help needed
    My requirement ...
    1) PLSQL as web service : I succesffuly deployed PLSQL Procedure as Web service at 10 10g. The PLSQL takes string (CLOB) as input convert that into XML and store in table and return XMLTYPE as output.
    When I am accesing PLSQL WS using browser I am able to send string (basically XML format) as a input and able to receive the result back (SOAP envelop)
    2)WS Invocation : After PLSQL WS published I need to pass the SOAP XML which is generated from XYX wsdl file to the PLSQL WS published above. For this req I was using XML Spy to test this. (In actual the clinet will be Sieble that will send SOAP XML to PLSQL WS).
    Initially I was generating the SOAP XML from XYZ.wsdl and was directly sending that to PLSQL URL. I was getting error as I described initially.
    Next I tried to generate the SOAP request from the PLSQL WS wsdl file and inside the parameter I am sending the SOAP XML as string to the IN paramater of PLSQL WS. This time I am getting some different errors. The first error is same as http error: couldnot post the file /balprocess/balprocess/operation?processRequest on server 'localhost' (500)
    and second error is SOAP fault as follows
    <?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>
              <SOAP-ENV:Fault>
                   <faultcode>SOAP-ENV:Server</faultcode>
                   <faultstring>java.sql.SQLException: ORA-31011: XML parsing failed
    ORA-19202: Error occurred in XML processing
    LPX-00210: expected &apos;<&apos; instead of &apos;"&apos;
    Error at line 1
    ORA-06512: at "SYS.XMLTYPE", line 0
    ORA-06512: at "SCOTT.BAL_A_PROCESS", line 16
    ORA-06512: at line 1
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:137)</faultstring>
                   <faultactor>/balprocess/balprocess</faultactor>
              </SOAP-ENV:Fault>
         </SOAP-ENV:Body>
    </SOAP-ENV:Envelope>
    For ur reference I am pasting the PLSQL WSDL file and the SOAP request xml that I am sending to PLSQL WS URL.
    <?xml version="1.0" encoding="UTF-8"?>
    <definitions name="bal_a_process"
    targetNamespace="http://bal.request.process/bal_a_process.wsdl"
    xmlns="http://schemas.xmlsoap.org/wsdl/"
    xmlns:tns="http://bal.request.process/bal_a_process.wsdl"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
    xmlns:xsd1="http://bal.request.process/bal_a_process.xsd" >
    <documentation>
    WSDL for Service: bal_a_process, generated by Oracle WSDL toolkit (version: 1.1)
    </documentation>
    <types>
    <schema targetNamespace="http://bal.request.process/bal_a_process.xsd" xmlns:tns="http://bal.request.process/bal_a_process.xsd" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:dom="http://xmlns.oracle.com/2001/XMLSchema/DOM">
    <complexType name="bal_request_process_bal_a_processUser_processRequest_Out">
    <all>
    <element name="outresponsexmlOut" type="dom:org.w3c.dom.DocumentFragment"/>
    </all>
    </complexType>
    </schema>
    </types>
    <message name="processRequestOutput">
    <part name="return" type="xsd1:bal_request_process_bal_a_processUser_processRequest_Out"/>
    </message>
    <message name="processRequestInput">
    <part name="param0" type="xsd:string"/>
    </message>
    <portType name="bal_a_processPortType">
    <operation name="processRequest">
    <input message="tns:processRequestInput"/>
    <output message="tns:processRequestOutput"/>
    </operation>
    </portType>
    <binding name="bal_a_processBinding" type="tns:bal_a_processPortType">
    <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="rpc"/>
    <operation name="processRequest">
    <soap:operation soapAction="urn:bal-request-process-bal_a_process/processRequest"/>
    <input>
    <soap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="urn:bal-request-process-bal_a_process"/>
    </input>
    <output>
    <soap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="urn:bal-request-process-bal_a_process"/>
    </output>
    </operation>
    </binding>
    <service name="bal_a_process">
    <port name="bal_a_processPort" binding="tns:bal_a_processBinding">
    <soap:address location="http://localhost:7200/balprocess/balprocess"/>
    </port>
    </service>
    </definitions>
    Request I am sending to PLSLQ WS URL
    <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
         <SOAP-ENV:Body>
              <processRequest xmlns:m="urn:bal-request-process-bal_a_process" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
                   <param0 xsi:type="xsd:string">     "<a>"aaa"</a>"     </param0>
              </processRequest>
         </SOAP-ENV:Body>
    </SOAP-ENV:Envelope>
    I above SOAP request XML i m testing "<a>"aaa"</a>" as XML string. but this is also getting failed. In actual this will be SOAP XML request from some other XYZ wsdl file.
    Quwang ur help needed urgently.
    Regards

  • SOAP- XI- RFC , while posting soap request thru SPY , getting exception,

    Hello friends,
    I am trying <b>SOAP->XI->RFC</b> scenario. would like to explain in brief about requirement then <b>let me know if this is correct approach</b>
    <i>Our client wants a pull approach from R/3 , for example lets say he wants to get Material Master data from R/3.
    So he will send a SOAP request with the material number and r/3 should return back the details.</i>
    <b>So we have decided to go with SOAP->XI->RFC approach
    That means a sender SOAP Adapter and a receiver RFC adapter,</b>
    I have done all the designing, like creating my own DataType,MessagType all interfaces etc.
    then i created a Bussiness system of type third party with host name as XI host name to use for sender, and a business system of type Web As ABAP and used one of the R/3 as receiver system.
    Doubts: Once i created Soap channel in my sender businees system(where Interface name i gave my Message Interface name and its Namespace), and the receiver channel in my another bussiness system, i created the entire scenario using Configuration Wizard.
    NOW THE PROBLEM STARTS.
    After clicking Define Web Service , it asks for URL
    i gave following url
    http://ps3181:50000/XISOAPAdapter/MessageServlet?channel=TPBS_Rohit:soapChannel
    TPBS_Rohit is my Sender (third party bussiness system name), and soapChannel is the channel under it.
    <b>tell me if this is right</b>
    Then in the Message Interface i selected my Message Interface name that i had created in Design for publishing.
    <u><b>MAJOR DOUBT</b></u>
    <b>It Asks for
    Service :
    Interface Name :
    Interface NameSpace :
    what do i give here.</b>
    this is what i have given
    Service : TPBS_Rohit, Sender (third party bussiness system name)
    Interface Name : MI_SOAP <again the same message interface name that i have published earlier>
    Interface NameSpace : same namespace.
    AM i right ???
    I am sure somthing is wrong since when i tried sending a SOAP request using XML SPY , this is what i get.
    [code]<?xml version="1.0"?>
    <!-- see the documentation -->
    <SOAP:Envelope xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/">
         <SOAP:Body>
              <SOAP:Fault>
                   <faultcode>SOAP:Server</faultcode>
                   <faultstring>Server Error</faultstring>
                   <detail>
                        <s:SystemError xmlns:s="http://sap.com/xi/WebService/xi2.0">
                             <context>XIAdapter</context>
                             <code>Exception</code>
                             <text><![CDATA[
    java.lang.Exception: invalid channel (party:service:channel) = TPBS_Rohit:soapChannel
         at com.sap.aii.af.mp.soap.web.MessageServlet.doPost(MessageServlet.java:498)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:385)
         at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:263)
         at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:340)
         at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:318)
         at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:821)
         at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:239)
         at com.sap.engine.services.httpserver.server.Client.handle(Client.java:92)
         at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:147)
         at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:37)
         at com.sap.engine.core.cluster.impl6.session.UnorderedChannel$MessageRunner.run(UnorderedChannel.java:71)
         at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
         at java.security.AccessController.doPrivileged(Native Method)
         at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:94)
         at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:162)
              ]]></text>
                        </s:SystemError>
                   </detail>
              </SOAP:Fault>
         </SOAP:Body>
    </SOAP:Envelope>[/code]
    Please Let me know where have i gone wrong ?

    hi manikandan,friends
    i changed the url to http://ps3181:50000/XISOAPAdapter/MessageServlet?channel=:TPBS_Rohit:soapChannel
    colon included.
    but now i get the following error trace in SPY ..
    [code]<?xml version="1.0"?>
    <!-- see the documentation -->
    <SOAP:Envelope xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/">
         <SOAP:Body>
              <SOAP:Fault>
                   <faultcode>SOAP:Server</faultcode>
                   <faultstring>failed to call the adapter engine</faultstring>
                   <detail>
                        <s:SystemError xmlns:s="http://sap.com/xi/WebService/xi2.0">
                             <context>XIAdapter</context>
                             <code>DeliveryException</code>
                             <text><![CDATA[
    com.sap.aii.af.mp.module.ModuleException
         at com.sap.aii.af.mp.soap.ejb.XISOAPAdapterBean.process(XISOAPAdapterBean.java:697)
         at com.sap.aii.af.mp.module.ModuleLocalLocalObjectImpl3.process(ModuleLocalLocalObjectImpl3.java:103)
         at com.sap.aii.af.mp.ejb.ModuleProcessorBean.process(ModuleProcessorBean.java:221)
         at com.sap.aii.af.mp.processor.ModuleProcessorLocalLocalObjectImpl0.process(ModuleProcessorLocalLocalObjectImpl0.java:103)
         at com.sap.aii.af.mp.soap.web.MessageServlet.doPost(MessageServlet.java:543)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:385)
         at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:263)
         at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:340)
         at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:318)
         at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:821)
         at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:239)
         at com.sap.engine.services.httpserver.server.Client.handle(Client.java:92)
         at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:147)
         at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:37)
         at com.sap.engine.core.cluster.impl6.session.UnorderedChannel$MessageRunner.run(UnorderedChannel.java:71)
         at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
         at java.security.AccessController.doPrivileged(Native Method)
         at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:94)
         at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:162)
    Caused by: com.sap.aii.messaging.srt.BubbleException: failed to call the adapter engine [null "null"]; nested exception caused by: com.sap.aii.af.ra.ms.api.DeliveryException: XIServer:NO_RECEIVER_CASE_BE:
         at com.sap.aii.af.mp.soap.ejb.AFCallerApplication.perform(AFCallerApplication.java:122)
         at com.sap.aii.messaging.srt.ApplicationBubble.onMessage(ApplicationBubble.java:29)
         at com.sap.aii.messaging.srt.ExtensionBubble.onMessage(ExtensionBubble.java:56)
         at com.sap.aii.af.mp.soap.ejb.XISOAPAdapterBean.process(XISOAPAdapterBean.java:576)
         ... 20 more
    Caused by: com.sap.aii.af.ra.ms.api.DeliveryException: XIServer:NO_RECEIVER_CASE_BE:
         at com.sap.aii.adapter.xi.ms.XIEventHandler.onTransmit(XIEventHandler.java:366)
         at com.sap.aii.af.ra.ms.impl.core.queue.CallConsumer.onMessage(CallConsumer.java:123)
         at com.sap.aii.af.ra.ms.impl.core.queue.Queue.run(Queue.java:419)
         at com.sap.engine.frame.core.thread.Task.run(Task.java:60)
         at com.sap.engine.core.thread.impl5.SingleThread.execute(SingleThread.java:73)
         at com.sap.engine.core.thread.impl5.SingleThread.run(SingleThread.java:145)
              ]]></text>
                        </s:SystemError>
                   </detail>
              </SOAP:Fault>
         </SOAP:Body>
    </SOAP:Envelope>[/code]

Maybe you are looking for

  • Syncing multiple iPhones to one iTunes account on my iMac?

    When we bought our four iPhones last November using the Family Plan with AT&T, we all had our own computers, two Macs and two PC's, and our own iTunes accts. So of course we all synced our phones to our own accounts on our own computers. Now I'm wond

  • Document Add button - change a UDF so B1 writes value to  tables

    When the user presses the add button on a document, like an invoice, I want to loop through the items matrix and update a UDF on each row, so that Business one will write my values in the UDFs to the line item table (INV1), but I can't figure out how

  • Early Watch Report - Archive EWA

    Hello,   I have configured Early Watch Report in my Solution Manager 4.0 on Windows Server 2003 4 weeks back. EWA report is comng perfectly  but in my Solution for each server I am able to see only 2 (Latest one and  Next Schedued) EWA report at a ti

  • TS1702 Playing a movie purchased In iTunes

    I cannot play a movie I purchased in iTunes. I cannot connect to wifi at this time. I do have a cellular data plan

  • A Problem Re-installing Lightroom 3.6

    First, excuse my clumsy attempts at describing the problem as I am anything but tech savvy.  Recently, my hard drive had to be replaced so I had all of my files/information transferred to a new hard drive,  I then re-installed Lightroom 3.6.  The las