Soap Array in external WSDL

Hi all,
i have an webservice that i need to use as a reciever that  has a WSDL containing soap arrays instead of repeating groups.
<xsd:complexType name="workOrderArray">
  <xsd:complexContent>
    <xsd:restriction base="soapenc:Array">
      <xsd:attribute ref="soapenc:arrayType" wsdl:arrayType="tns:workOrder[]" />
    </xsd:restriction>
  </xsd:complexContent>
</xsd:complexType>
i understand that  PI is not supporting  this  but maybe somebody has found a work around ?  At the moment i 'm creating an XSD from the WSDL and then i will import the xml schema and i will see if that works.
any other suggestions ?

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xmlns:xsd="http://www.w3.org/2001/XMLSchema"
  xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
  xmlns:tns="http://example/"
  xmlns:types="http://example/encodedTypes"
  xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
  <xsl:template match="/">
    <env:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns="http://example/" xmlns:types="http://example/encodedTypes" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
      <env:Body soap:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
        <xsl:copy>
          <xsl:apply-templates select="@*|node()"/>
        </xsl:copy>
      </env:Body>
    </env:Envelope>
  </xsl:template>
  <xsl:template match="@*|node()">
    <xsl:copy>
      <xsl:apply-templates select="@*|node()"/>
    </xsl:copy>
  </xsl:template>
  <xsl:template match="/tns:workOrderMsg/tns:workOrderArray">
    <workOrderArray soapenc:id="id1" soapenc:itemType="types:WorkOrder">
      <xsl:attribute name="soapenc:arraySize">
        <xsl:value-of select="count(./tns:workOrder)"/>
      </xsl:attribute>
      <xsl:for-each select="./tns:workOrder">
        <Item>
          <xsl:attribute name="soapenc:id">
            <xsl:value-of select="concat('id', position())"/>
          </xsl:attribute>
          <order_id xsi:type="xsd:string"><xsl:value-of select="tns:order_id"/></order_id>
          <description xsi:type="xsd:string"><xsl:value-of select="tns:description"/></description>
        </Item>
      </xsl:for-each>
    </workOrderArray>
  </xsl:template>
</xsl:stylesheet>

Similar Messages

  • Issue with external WSDL in own Outbound interface using SOAP UI

    Hello,
    this is the issue:
    a) Imported an external WSDL to PI as external definition
    b) Added external definition to a sync. Service interface
    c) Completed configuration and created a WSDL from the sender agreement in Directory (this is PI 7.1)
    d) imported the WSDL from c) to soap UI which we are using for testing interfaces
        (already successful with other sync interface where the WSDL from c) contains a message type created in PI
    e) testing this interface results in an error:
    Error message in MONI:
    SAP:Error SOAP:mustUnderstand="1" xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/">
      <SAP:Category>Application</SAP:Category>
      <SAP:Code area="MAPPING">EXCEPTION_DURING_EXECUTE</SAP:Code>
      <SAP:P1>com/sap/xi/tf/_MM_TestTrigger_Testm~</SAP:P1>
      <SAP:P2>com.sap.aii.mappingtool.tf7.IllegalInstanceExcepti</SAP:P2>
      <SAP:P3>on: Cannot create target element /ns0:props. Value</SAP:P3>
      <SAP:P4>s missing in queue context. Target XSD requires a~</SAP:P4>
      <SAP:AdditionalText />
      <SAP:Stack>Runtime exception occurred during application mapping com/sap/xi/tf/_MM_Test_Testm; com.sap.aii.mappingtool.tf7.IllegalInstanceException: Cannot create target element /ns0:props. Values missing in queue context. Target XSD requires a</SAP:Stack>
      <SAP:Retry>M</SAP:Retry>
      </SAP:Error>
    This is the message as it looks like in soapUI:
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:com="http://jusit.hp.com/sys/common/">
       <soapenv:Header/>
       <soapenv:Body>
          <props>
             <com:Property>
                <com:PropertyName>A</com:PropertyName>
                <com:PropertyValue>1</com:PropertyValue>
             </com:Property>
          </props>
       </soapenv:Body>
    </soapenv:Envelope>
    This is the payload in MONI as it comes from SOAP UI (using http connection):
    <?xml version="1.0" encoding="UTF-8" standalone="yes" ?><!-- Mapping der Request-Message -->
    <props xmlns:com='http://jusit.hp.com/sys/common/' xmlns:soapenv='http://schemas.xmlsoap.org/soap/envelope/'>
             <com:Property>
                <com:PropertyName>A</com:PropertyName>
                <com:PropertyValue>1</com:PropertyValue>
             </com:Property>
          </props>
    This is the payload as it looks like in Mapping Test in Enterprise Repos. from implemented ext.def.:
    <?xml version="1.0" encoding="UTF-8"?>
    <ns0:props xmlns:ns0="http://jusit.hp.com/sys/common/">
       <ns0:Property>
          <ns0:PropertyName>A</ns0:PropertyName>
          <ns0:PropertyValue>1</ns0:PropertyValue>
       </ns0:Property>
    </ns0:props>
    Is there any restriction with external definitions to be used in PI which could be the reason for this strange behaviour?
    The implementation contained a message type created in PI earlier which was running successful!
    The problem came up with the external definition!
    Thank you for your help!
    Best regards
    Dirk

    Hi,
    the problem is not the mapping as it is 1:1 with the same message on both sides.
    But when I replace the "com"s with "ns0" and "props" with "ns0:props" in the request in soap UI
    the payload will be accepted and mapping is successful!
    So the issue is about the modification soap UI is doing on the imported WSDL.
    a) Generated request in soap UI from imported WSDL:  FAILS in PI!!!!
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:com="http://test.ap.com/sys/common/">
       <soapenv:Header/>
       <soapenv:Body>
          <props>
             <com:Property>
                <!You may enter the following 2 items in any order>
                <com:PropertyName>?</com:PropertyName>
                <com:PropertyValue>?</com:PropertyValue>
             </com:Property>
          </props>
       </soapenv:Body>
    </soapenv:Envelope>
    b) Modified request in soap UI from imported WSDL: WILL BE PROCESSED IN PI
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns0="http://test.ap.com/sys/common/">
       <soapenv:Header/>
       <soapenv:Body>
          <ns0:props>
             <ns0:Property>
                <!You may enter the following 2 items in any order>
                <ns0:PropertyName>B</ns0:PropertyName>
                <ns0:PropertyValue>5</ns0:PropertyValue>
             </ns0:Property>
          </ns0:props>
       </soapenv:Body>
    </soapenv:Envelope>
    But is there any possibility to avoid this effect in soap UI?
    Regards
    Dirk

  • Development and access to external WSDL URL

    Hi All,
    I am developing a SOA application with BPEL composite which also makes calls to an external third party webservice. Due to security reasons, the external third party webservice URL is only accessible from our Development server machine (and not my local machine running JDeveloper). Issue with this is the SOA application development is done using Jdeveloper 11.1.1.4 on my local machine.
    Overview of my application is
    WebService (Synchronous Request/Response Client interface ) ---> BPEL ---> Third Party webService (Partnerlink)
    1) Using the Client interface the user enters startTime and EndTime values
    2) The startTime and endTime is input message to the BPEL process.
    3) The BPEL process then sends the request to the third party web service (partnerlink) and gets a response message back and returns to the client.
    I tried workaround for the same by asking the third party for WSDL and associated XSDs and included these locally in my SOA application project. However trying to deploy the completed SOA application and keep getting this error.
    ERROR MESSAGE_
    [03:40:25 PM] Error message from server:
    There was an error deploying the composite on WLS_SOA: Error occurred during deployment of component: DataRetrievalService to service engine: implementation.bpel, for composite: DataRetrievalService: ORABPEL-09705
    Could not initialize variable.
    An error occurs while initializing BPEL variable RetrieveEventSummary_GetEventSummary_InputVariable; the schema processor cannot find the element {http://schemas.internet.com/asiapac/cad/integration/1.0.0}GetEventSummaryRequest in the following schemas: oracle.fabric.common.wsdl.SchemaManager@1cf57b6b.
    The XSD element on which the variable was based was not properly defined in XSD or the WSDL.
    Ensure that the element named in the error message is valid in the XSD or the WSDL.
    Questions_
    1) Please suggest, is it possible to develop a SOA application which makes service call to external URL, while the local development machine cannot access the external WSDL URL.
    2) Also, in such cases in future deployments to test and production do I still need access to external WSDL URL from my machine. I deploy the completed SOA application from my local machine to the Development Server. The Development Server machine is configured to accessed the third-party WSDL URL.
    Thanks
    Edited by: user5108636 on 11/07/2011 23:53

    It seems WSDL is not complete or invalid. Check whether it references element {http://schemas.internet.com/asiapac/cad/integration/1.0.0}GetEventSummaryRequest and this element has been defined in the XSD imported/defined in WSDL.
    1) Please suggest, is it possible to develop a SOA application which makes service call to external URL, while the local development machine cannot access the external WSDL URL.Yes, it is possible but complete and valid WSDL must be available locally.
    2) Also, in such cases in future deployments to test and production do I still need access to external WSDL URL from my machine. I deploy the completed SOA application from my local machine to the Development Server. The Development Server machine is configured to accessed the third-party WSDL URL.If server can access the third party WS URL then that is sufficient. No need to have access from local machine. Just deploy it on server and then test there.
    Regards,
    Anuj

  • SOAP-Request to external Web Service Failed with GENERAL_ERROR PART UKNOWN

    Hi,
    i have generated a Consumer Proxy with the following WSDL File:
    <?xml version="1.0" encoding="UTF-8"?>
    <!-- Mit XMLSpy v2010 rel. 2 (http://www.altova.com) von Ralph Rothe (n/a) bearbeitet -->
    <wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:tns="http://new.webservice.namespace" targetNamespace="http://new.webservice.namespace">
            <wsdl:types>
                   <xs:schema targetNamespace="http://new.webservice.namespace" elementFormDefault="qualified"/>
            </wsdl:types>
            <wsdl:message name="greetAnfrage">
                   <wsdl:part name="user" type="xs:string"/>
            </wsdl:message>
            <wsdl:message name="greetAntwort">
                   <wsdl:part name="return" type="xs:string"/>
            </wsdl:message>
            <wsdl:portType name="TestServerPortType">
                   <wsdl:operation name="getResults">
                           <wsdl:input message="tns:greetAnfrage"/>
                           <wsdl:output message="tns:greetAntwort"/>
                   </wsdl:operation>
            </wsdl:portType>
            <wsdl:binding name="TestServerBinding" type="tns:TestServerPortType">
                   <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
                   <wsdl:operation name="getResults">
                           <soap:operation soapAction="urn:#NewOperation" style="rpc"/>
                           <wsdl:input>
                                   <soap:body use="literal"/>
                           </wsdl:input>
                           <wsdl:output>
                                   <soap:body use="literal"/>
                           </wsdl:output>
                   </wsdl:operation>
            </wsdl:binding>
            <wsdl:service name="TestServerService">
                   <wsdl:port name="TestServerPort" binding="tns:TestServerBinding">
                           <soap:address location="http://92.79.135.41/soap/server.php"/>
                   </wsdl:port>
            </wsdl:service>
    </wsdl:definitions>
    If i testing the Error "GENERAL ERROR - PART UNKNOWN (NULL) occur. A payload trace with SRT_UTIL i show a correct response.

    Hi,
    i have generated a Consumer Proxy with the following WSDL File:
    <?xml version="1.0" encoding="UTF-8"?>
    <!-- Mit XMLSpy v2010 rel. 2 (http://www.altova.com) von Ralph Rothe (n/a) bearbeitet -->
    <wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:tns="http://new.webservice.namespace" targetNamespace="http://new.webservice.namespace">
            <wsdl:types>
                   <xs:schema targetNamespace="http://new.webservice.namespace" elementFormDefault="qualified"/>
            </wsdl:types>
            <wsdl:message name="greetAnfrage">
                   <wsdl:part name="user" type="xs:string"/>
            </wsdl:message>
            <wsdl:message name="greetAntwort">
                   <wsdl:part name="return" type="xs:string"/>
            </wsdl:message>
            <wsdl:portType name="TestServerPortType">
                   <wsdl:operation name="getResults">
                           <wsdl:input message="tns:greetAnfrage"/>
                           <wsdl:output message="tns:greetAntwort"/>
                   </wsdl:operation>
            </wsdl:portType>
            <wsdl:binding name="TestServerBinding" type="tns:TestServerPortType">
                   <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
                   <wsdl:operation name="getResults">
                           <soap:operation soapAction="urn:#NewOperation" style="rpc"/>
                           <wsdl:input>
                                   <soap:body use="literal"/>
                           </wsdl:input>
                           <wsdl:output>
                                   <soap:body use="literal"/>
                           </wsdl:output>
                   </wsdl:operation>
            </wsdl:binding>
            <wsdl:service name="TestServerService">
                   <wsdl:port name="TestServerPort" binding="tns:TestServerBinding">
                           <soap:address location="http://92.79.135.41/soap/server.php"/>
                   </wsdl:port>
            </wsdl:service>
    </wsdl:definitions>
    If i testing the Error "GENERAL ERROR - PART UNKNOWN (NULL) occur. A payload trace with SRT_UTIL i show a correct response.

  • Proxy Object for external WSDL--Not using XI

    Dear Collegues,
    URL OF web service: <u>http://www.nanonull.com/TimeService/TimeService.asmx</u>
    I am trying to create proxy object from <b>se80->enterprise services->create proxy
    then is selecting url/http and giving the above address(url).</b>
    i get this error.
    <b>Message no. SPRX090
    If you want to generate a proxy for an external WSDL document (for example, by specifying a URL), check that the proxy settings of the system are correct (transaction sicf - Client - Proxy Settings).[/b
    it says something should be correct in SICF,say any one provide some pointers for this.I am not using XI.
    Regards
    chandra

    Hi,
    I know this issue is logged some time back.
    Is this Issue fixed for you?
    Can you please let us know the SICF Config settings that you used for fixing this Issue?
    Thanks and Regards,
    Nagendra

  • Error target namespace must be absolute URI when consuming external WSDL

    Hi,
    I'm trying to consume external WSDL which has relative target namespace.
    Through SE80 transaction I select Create -> Enterprise Server -> Service Consumer.
    I have tried with URL and local file options but the result is the following in both cases:
    At the en of the wizard I receive the errors "exception in Error-Handler" and "Error target namespace must be absolute URI".
    I'm on ECC 6.0 SP 18.
    Anybody knows how to solve this problem? Maybe is not possible to consume external WSDL with relative URI?
    Thanks
    Regards

    Hi,
    I think the problem is that the WSDL is not WS-I compliant.
    I have found note 1327511 (Limiations and common problems in ABAP WSDL processing) and with the report RSSIDL_DESERIALIZE_DEMOI have found the same error.
    Anybody can confirm this?
    Is there any other document or reference where SAP indicates this fact?
    Thanks
    Regards

  • SOAP over MQ in WSDL

    SOA Gurus,
    We have a requirement to interact with target system as SOAP/MQ messages. My confusion is, Is there any MQ transpot SOAP binding available in wsdl or do we need to use the SOAP/JMS.
    How will the wsdl binding look like for SOAP/MQ.
    Thanks in advance.

    This article may help...
    http://www.ibm.com/developerworks/webservices/library/ws-soapojms/index.html
    Cheers,
    Vlad

  • Referencing the version of the soap service in the WSDL call

    I'm wondering if you can call the version of the soap service in the wsdl call. That way you can have different sources using different version of the service.
    Cheers,

    Hi,
    Just for clarity, are you asking how to run a specific version of the same process?  It sounds like it.  If so, while what Jasmin said is correct, keep in mind that a WSDL that is returned only represents the service interface (i.e. inputs and outputs).  If your versions don't differ at the interface/endpoint the WSDL isn't going to help you with versioning.
    Basically, if you change the workflow/process but not the interface/endpoint the WSDL will look the same.  To the best of my knowledge when you make a call to the service/process LC uses the definition of the call (which is based on the WSDL) to run the right process version.   So, if you have services/processes that have the same WSDL definition even though there are multiple versions of the process, which one does it run?  I believe it runs the newest version.  This will create an interesting challenge to support legacy systems.
    I'm willing to admit that the above is my understanding from dealing with web services in general so maybe there is something extra to the way LC can handle calling a specific process when the interfaces are the same.  Or maybe I'm just completely wrong!
    Interested in confirmation on this myself.  Thanks!

  • SOAP array in database

    Hello all. I want work with soap array return from soap service. I read many article in site, but I not understand how create client in database working with array.
    Thanks.

    <?xml version="1.0" encoding="UTF-8"?>
    <xsl:stylesheet version="1.0"
      xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xmlns:xsd="http://www.w3.org/2001/XMLSchema"
      xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
      xmlns:tns="http://example/"
      xmlns:types="http://example/encodedTypes"
      xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
      <xsl:template match="/">
        <env:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns="http://example/" xmlns:types="http://example/encodedTypes" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
          <env:Body soap:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
            <xsl:copy>
              <xsl:apply-templates select="@*|node()"/>
            </xsl:copy>
          </env:Body>
        </env:Envelope>
      </xsl:template>
      <xsl:template match="@*|node()">
        <xsl:copy>
          <xsl:apply-templates select="@*|node()"/>
        </xsl:copy>
      </xsl:template>
      <xsl:template match="/tns:workOrderMsg/tns:workOrderArray">
        <workOrderArray soapenc:id="id1" soapenc:itemType="types:WorkOrder">
          <xsl:attribute name="soapenc:arraySize">
            <xsl:value-of select="count(./tns:workOrder)"/>
          </xsl:attribute>
          <xsl:for-each select="./tns:workOrder">
            <Item>
              <xsl:attribute name="soapenc:id">
                <xsl:value-of select="concat('id', position())"/>
              </xsl:attribute>
              <order_id xsi:type="xsd:string"><xsl:value-of select="tns:order_id"/></order_id>
              <description xsi:type="xsd:string"><xsl:value-of select="tns:description"/></description>
            </Item>
          </xsl:for-each>
        </workOrderArray>
      </xsl:template>
    </xsl:stylesheet>

  • Importing external WSDLs

    I have to import an external WSDL into XI. But that WSDL has so many internal references to other XSD (using include tag), and XSD refer other XSD using include tag.
    So, I need to import all these XSD into my integration repository right? Even after importing all the related XSD, my WSDL is not showing any messages? What could be the problem?
    Thanks,
    Anika

    Hi Anika,
    You can import any external xsds, or wsdl into xi.
    For more-
    http://help.sap.com/saphelp_nw2004s/helpdata/en/26/9e97b0f525d743882936c2d6f375c7/content.htm
    Also just check this weblog and you'll have everything,
    /people/michal.krawczyk2/blog/2005/03/07/mail-adapter-xi--how-to-implement-dynamic-mail-address
    including the link to the external xsd file
    https://websmp205.sap-ag.de/~sapidb/012006153200000361852004E/ximail30_xsd.txt
    is this what you're looking for?
    Regards,
    Abhy

  • Formating WSDL  SOAP  message using external .xsd file

    Hi,
    I am trying to build web service from java method using xml schema in .xsd file to format soap messages. How can I do this? What steps should I take to accomplish this?
    When I tried to do this using wizard for building web service, and map custom java classes to xml schema types , I got generator error: java.util.NoSuchElementException.
    When I managed to generate web service using that custom mappings (without generator error) , I couldn't deploy that service on server. At deploy time i alway get compile error without named source where error is....

    hI,
    How to add the the below soap frame thru XSLT mapping.
    <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:eb="http://www.oasis-open.org/committees/ebxml-msg/schema/msg-header-2_0.xsd">
    <SOAP-ENV:Header>
    <eb:MessageHeader xmlns:eb="http://www.oasis-open.org/committees/ebxml-msg/schema/msg-header-2_0.xsd" SOAP-ENV:mustUnderstand="1" eb:version="2.0">
    <eb:From>
    <eb:PartyId>0037123456678</eb:PartyId>
    <eb:Role>Sender</eb:Role>
    </eb:From>
    <eb:From>
    <eb:PartyId>NDEAFIHH</eb:PartyId>
    <eb:Role>Intermediator</eb:Role>
    </eb:From>
    <eb:To>
    <eb:PartyId>FI2757800750155448</eb:PartyId>
    <eb:Role>Receiver</eb:Role>
    </eb:To>
    <eb:To>
    <eb:PartyId>OKOYFIHH</eb:PartyId>
    <eb:Role>Intermediator</eb:Role>
    </eb:To>
    <eb:CPAId>yoursandmycpa</eb:CPAId>
    <eb:ConversationId/>
    <eb:Service>Routing</eb:Service>
    <eb:Action>ProcessInvoice</eb:Action>
    <eb:MessageData>
    <eb:MessageId>20081228-010142</eb:MessageId>
    <eb:Timestamp>2008-12-28T01:01:42+03:00</eb:Timestamp>
    <eb:RefToMessageId/>
    <eb:RefToMessageId>XS1027.LPTF82/268</eb:RefToMessageId>
    </eb:MessageData>
    </eb:MessageHeader>
    </SOAP-ENV:Header>
    <SOAP-ENV:Body>
    <eb:Manifest eb:id="Manifest" eb:version="2.0">
    <eb:Reference eb:id="Finvoice" xlink:href="XS1027.LPTF82/268">
    <eb:Schema eb:location=" http://www.finvoice.info/yrityksen_verkkolasku/ladattavat/Tekniset tiedostot/schemat/Finvoice.xsd" eb:version="2.0"/>
    </eb:Reference>
    </eb:Manifest>
    </SOAP-ENV:Body>
    </SOAP-ENV:Envelope>
    <?xml version="1.0" encoding="ISO-8859-15"?>
    <!DOCTYPE Finvoice SYSTEM "Finvoice.dtd">
    <?xml-stylesheet type="text/xsl" href="Finvoice.xsl"?>
    Thanks and Regards,
    Hymavathi

  • Scenario proxy to soap synchronous with external definitions

    Hi all,
    I have a problem with my scenario.
    In development environment all is working fine, but when I have transported to preproduction environment and we have executed my scenario I have the following error:
    <SAP:AdditionalText>com.sap.engine.interfaces.messaging.api.exception.MessagingException: SOAP: response message contains an error XIAdapter/PARSING/ADAPTER.SOAP_EXCEPTION - soap fault: Server did not recognize the value of HTTP Header SOAPAction: http://geisiedes.endesa.es/WSRespuesta/WsRespuestaSIE.asmx/EnviarRespuestaNocturnaWF.</SAP:AdditionalText>
    <SAP:Stack />
    I attach the receiver communication channel configuration.(cc_config.jpg)
    I changed the target URL in the receiver channel, with the preproduction machine, but I didn't change the sopa action because is define in the wsdl ( soap_action.jpg).
    I have othe external definitions for preproduction environmet but its contect is different to external definitions in development change the reference to machine where geisiepre instead geiseides.
    Whe I import this external definitions I lose the configuration in messages mappings.
    How can I solve this problem? Is mandatory to have the same external definitions in the three environments??
    Thanks and best regards
    Mónica

    Hi Monica,
    I normally use the all the tag content in the SOAPAction tag, but you can try with EnviarRespuestaNocturnaPC in the SOAP receiver communication channel.
    Have you tried to test your wsdl endpoint with SOAPui?, you can get sometimes valuable information about how design/configure in PI and if the request is identical in PI and in SOAPui.
    Regards.

  • Using a returned SOAP array

    This feels like a ridiculous question, but Google is not being any help.
    How do I actually use a value returned as an instance of a subclass of
        org.xmlsoap.schemas.soap.encoding.Array? I am trying to use XFire for the client code calling another system. I have the code generating properly from the WSDL, and I can make the call that is supposed to return an instance of a class that extends Array. There is a Holder<Integer> parameter which is returning with the right size of the output. And sniffing the SOAP messages, the data is being returned in the XML document. But the API for Array doesn't seem to give me any way to access the elements. And this class adds nothing I can see to the API:
        @XmlAccessorType(XmlAccessType.FIELD)
        @XmlType(name = "arEventList")
        public class ArEventList
            extends Array
        }In the test code, I try the entire API, and get back nothing of value I can see, except for the size of the array, which isn't actually stored in the Array itself but in a mutable parameter.
        EventsServiceClient client = new EventsServiceClient();
        Events events = client.getEventsPort(getServerUrl());
        Holder<Integer> countHolder = new Holder<Integer>();
        ArEventList list = events.getEventListById(getSessionToken(), 0,
                                        100000, 44, false, countHolder);
        System.out.println(list.getAny());             // => []
        System.out.println(list.getOtherAttributes()); // => {}
        System.out.println(list.getArrayType());       // => null
        System.out.println(list.getHref());            // => "#0"
        System.out.println(list.getId());              // => null
        System.out.println(list.getOffset());          // => null
        System.out.println(countHolder.value);         // => 788So how can I get at the actual elements returned in the Array?
    -- Scott

    Thanks for the response.
    Check the XFire docs. So far, they haven't been much help.
    Axis just maps WS arrays to corresponding Java arrays
    of the correct type for you, I'd be highly surprised
    if XFire can't do the same.I think there are underlying problems beyond this. Even simple types aren't coming back correctly. It may be a miscommunication between the Delphi-based server and XFire on the format of the SOAP documents. I'm looking into that now.
    But when you say Axis maps the arrays, how do you get at them; it's not a simple cast, is it? The generated code is of a class that extends but doesn't add any behavior to the WS Array. The API of that class doesn't seem to allow any way to get at the Array of my type, unless that's what this does:
        List<Object> getAny()At a guess, that's what's going on, and the data, which I can see in the SOAP document, is not formatted by the server in a way that XFire can recognize. But I'm going to have to chew on that one some more.
    Thanks again,
    -- Scott

  • 401 Unauthorized:HTTP transport error while calling external WSDL from BPEL

    Hi,
    I have simple BPEL process whic calls siebel WSDL file through partner link.
    I have successfully compiled and deployed BPEL process, when i initiate the Process, instace got errored out at invoke activity.
    Error Goes like this
    "<remoteFault xmlns="http://schemas.oracle.com/bpel/extension"><part name="summary"><summary>
    exception on JaxRpc invoke: HTTP transport error: javax.xml.soap.SOAPException:
    java.security.PrivilegedActionException: javax.xml.soap.SOAPException: Bad response: 401 Unauthorized</summary>
    </part></remoteFault>"
    Can anybody help on this issue, Could you please give me possible solution.
    Thank youl.

    we have not provided any authentication credentials to XMLSpy, we have just uploaded siebel WSDL file then sent the SOAP request with some customer Id then we have received proper response with all desired customer data.
    In the same way we tried to call same siebel WSDL file from BPEL process throgh partner link. errored instance has created with 401 unauthorised HTTP transport error..
    Do you think is this probem at siebel application side?
    We have deployed our BPEL process to SOA server which is having HTTP port 7777.
    as per my investigation,i found that we have to open port from siebel side (which WSDL file we are calling) which matches with above HTTP port number.
    Do you have any idea on this above clue? Please let us know more details on this.

  • How  to get soap request in webservices (WSDL in java)

    hi ,,
    i did one helloworld app using soap protocol. In that , one soap client invokes the webservices(old java class with WSDL ).Now i want to get the soap document in the web service for to process the soap envelope and parsing and generating the o/p and append to the response then create the soap document for response. plz let me know how to do?
    Thanks in advance.

    Let me see whether I understand. Are you attempting to achieve something like this:
    test.cfc
    <cfcomponent output="no">
    <cffunction name="testFunction" returntype="any" access="remote">
    <cfargument name="soapInput">
    <cfset var inputXML = arguments.soapInput>
    <cfset var soapBodyText="">
    <cfset var noBodyTextError="">
    <cftry>
        <cfset soapBodyText = xmlSearch(inputXML,"//soapenv:Body/text()")[1].xmlValue>
        <cfsavecontent variable="noBodyTextError"><?xml version="1.0" encoding="utf-8"?><soapenv:Envelope     xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <soapenv:Body> <soapenv:Fault> <faultcode>soapenv:Server.userException</faultcode> <faultstring>java.lang.Exception: Body not found.</faultstring></cfsavecontent>
        <cfif trim(soapBodyText) is "">
        <cfthrow>
        </cfif>
        <cfreturn inputXML>
    <cfcatch type="any">
    <cfreturn noBodyTextError>
    </cfcatch>
    </cftry>
    </cffunction>
    </cfcomponent>
    tester.cfm
    <cfxml variable="mydata">
            <soapenv:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wor="https://www.worldmilesafrica.com">
       <soapenv:Header/>
       <soapenv:Body>
       </soapenv:Body>
    </soapenv:Envelope>
    </cfxml>
    <cfinvoke webservice = "http://127.0.0.1:8500/workspace/wsTest/test.cfc?wsdl"
              method = "testFunction"
               returnVariable = "result">
           <cfinvokeargument name="soapInput" value="#trim(mydata)#" >
    </cfinvoke>
    <cfdump var="#result#">

Maybe you are looking for

  • ERROR while checking standard program for SAP NOTE 175482(QM)

    HI, experts i am implementing sap note 175842 QM MODULE . My note is successfully implemented ,for that i created standard program RQEVAC50 USING ACCES KEY. but in se38 report comes like this REPORT  RQEVAC50. REPORT RQEVAC50 MESSAGE-ID QA. so while

  • When I turn on my macbook pro is no apple logo, just a black screen

    when I turn on my macbook pro is no apple logo, just a blackscreen! what need i to do! sometimes it wont start up I used switchsresx for my macbookpro but i removed it becouse it was not working but now when i startup my macbook Pro it shows a black

  • N81: "Memory full" even formatted the memory card

    Hi. Using N81, I get the "Memory full. Delete some data" message every time (when turning on the mobile, when trying to install any app, when trying to uninstall any app, ...). I've formatted the memory card, and I've got: - Capacity: 1947 MB - Used:

  • Integration of SQL database with XI

    Dear All, I have a req in that I have to connect to SQL Server database to XI system then from XI to ECC. To do this what are Connection should done from DatabaseXI-ECC. I have JDBC adapter in XI.Do I need install again in XI . how we will connect SQ

  • Oracle 10g OEM error

    Hey, Can someone help me figure out why I am getting the error "java.lang.Exception: IOException in sending Request :: Connection refused" at the top of my OEM screen when I login? This is causing all sorts of connection problems. emoms.log 2008-05-1