WS to PI with multiRef

Hi all,
I have a problem consuming a ws, the problem is that the ws returs a multiRef structure:
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">
How can cofigure the adapter to process this ws return?, according the wsdl this ws return a integer field
Thakns a lot.
Raú

> I have use the SOAP Axis adapter, but we have 2 documents in the payload, how we  have only the document with the real response??
When I see something like this, I really would like to know which guy designs a multiref response structure, to transport just one single integer value.
I would ask the guy to change the structure of the response.
Note: Not everything that is valid is really good design.
Sorry, there is no standard way to handle this in PI, so if you cannot change the response structure, you have to code an adapter module.
Edited by: Stefan Grube on Oct 5, 2011 8:47 PM

Similar Messages

  • Parsing xml with multiref

    Hi,
    We received from web service a xml:
    <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>
    <ns1:aaaa soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
    xmlns:ns1="urn:interfacesl">
    <aaaaReturn href="#id0"/>
    </ns1:aaaa>
    <multiRef id="id0" soapenc:root="0"
    soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
    xsi:type="ns2:bbbbRezultat"
    xmlns:ns2="http://output"
    xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">
    <c1 xsi:nil="true" xsi:type="soapenc:string"/>
    <d1 xsi:nil="true" xsi:type="ns3:Dok"
    xmlns:ns3="http://beans"/>
    <i1 href="#id1"/>
    <s1 href="#id2"/>
    </multiRef>
    <multiRef id="id1" soapenc:root="0"
    soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
    xsi:type="soapenc:int"
    xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">0</multiRef>
    <multiRef id="id2" soapenc:root="0"
    soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
    xsi:type="soapenc:int"
    xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">544</multiRef>
    </soapenv:Body>
    </soapenv:Envelope>
    Is it way to easily extract data from the xml using database features ( XMLTYPE methods )? Without touching multiRefs ?
    Regards,
    Cezary

    Discussed at this posting of the question
    {thread:id=967213}

  • Multiref elements in SOAP

    Hi,
    When I call a webservice from SAP XI with the SOAP adapter then I get a response message in SAP XI without multiref elements from the webservice.
    When I do the same thing with XMLspy I get a correct
    message with multiref elements.
    What do I wrong in SAP XI?
    kind regards,
    H. Hendriks

    Hi Stefan,
    Yes I had set the keep attachment parameter.
    kind regards,
    H. Hendriks

  • Problem with array type in SOAP response for sync interface

    Hi,
    We have a Synchronous Interface from SAP -->PI-->Unifier .The WSDL response has array type and when WSDL is imported it is showing red (I was able to activate  and use it in mapping) .We are able to send the request successfully and when retrieving the response we are getting mapping error .Please find the attachment for reference and response message from unifier .I feel that the error is because of array type .Could someone throw some light how we can solve this soon as it was a bit urgent .
    http://scn.sap.com/thread/326591
    I tried to create the Data Type and use the same instead of using the WSDL from External Definition but did not helped.Request your help in this.I have attached the WSDL for reference .
    The response is received as shown below which is giving mapping error :
    <ns1:getUDRDataResponse xmlns:ns1='http://diran:12020/ws/services/mainservice' soapenv:encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' 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'><getUDRDataReturn href='#id0'/></ns1:getUDRDataResponse>
    The complete response looks like below where PI is not able to receive (this is retrieved from SOAP UI)
    <?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> 
    - <ns1:getUDRDataResponse soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns1="http://general.service.webservices.skire.com"> 
    <getUDRDataReturn href="#id0" /> 
    </ns1:getUDRDataResponse>
    - <multiRef id="id0" soapenc:root="0" soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xsi:type="ns2:XMLObject" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns2="mainservice"> 
    <errorStatus soapenc:arrayType="xsd:string[0]" xsi:type="soapenc:Array" /> 
    <statusCode xsi:type="xsd:int">200</statusCode> 
    <xmlcontents xsi:type="xsd:string"><?xml version="1.0" encoding="UTF-8"?> <report> <report_header> <c1>Name</c1> <c2>Number</c2> <c3>Status</c3> <c4>Location</c4> <c5>Phase</c5> </report_header> <report_row> <c1>Test - Sprint 1 - v10</c1> <c2>GB424</c2> <c3>Active</c3> <c4>/North Sea</c4> <c5></c5> </report_row> <report_row> <c1>Test Training 3</c1> <c2>GB424-TRN3</c2> <c3>Active</c3> <c4>/North Sea</c4> <c5></c5> </report_row> </report></xmlcontents> 
    </multiRef>
    </soapenv:Body>
    </soapenv:Envelope>

    Hi Praveen and Mark,
    Thanks for the help.I tried to use XSLT mapping for request and try to read Response as a single string but i was getting an error in SXMB_MONI with Cannot display document format,Do you want too save it to harddisk and i could not get rid of this even after pressing Yes in popup .
    Can some one help to extract only the xmlcontents  from the above response and map it to target where the target structure looks like
    <report>
    <report_header>
    <report_row>
    Please help .

  • Presence of multiref tag in soap response message

    We are having a problem when we try to call a web service in PI. The web services called is provided by an Axis server.
    We tried to use the plain HTTP protocol in the definition of the communication channel as shown here:
    Adapter type: SOAP
    Transport protocol: HTTP
    Message protocol: SOAP 1.1
    Adapter engine: Central Adapter Engine
    We got the followong error response in SXMB_MONI:
    The payload shown in SXNB_MONI is:
    <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
    <!-- XML Validation Inbound Channel Response -->
    <ns1:cedstr_obt_cle_elem_v2_Response xmlns:ns1='urn:CEDSTR' soapenv:encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' 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'>
    <tab_cle soapenc:arrayType='ns1:cedstr_cle_elem_v1[3]' xmlns:soapenc='http://schemas.xmlsoap.org/soap/encoding/' xsi:type='soapenc:Array'>
    <item href='#id0'/>
    <item href='#id1'/>
    <item href='#id2'/>
    </tab_cle><nb_cle xsi:type='xsd:int'>3</nb_cle><stat_elem href='#id3'/>
    <cdr href='#id4'/>
    </ns1:cedstr_obt_cle_elem_v2_Response>
    The expected payload is:
      <?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>
    - <ns1:cedstr_obt_cle_elem_v2_Response soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns1="urn:CEDSTR">
    - <tab_cle xsi:type="soapenc:Array" soapenc:arrayType="ns1:cedstr_cle_elem_v1[3]" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">
      <item href="#id0" />
      <item href="#id1" />
      <item href="#id2" />
      </tab_cle>
      <nb_cle xsi:type="xsd:int">3</nb_cle>
      <stat_elem href="#id3" />
      <cdr href="#id4" />
      </ns1:cedstr_obt_cle_elem_v2_Response>
    - <multiRef id="id0" soapenc:root="0" soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xsi:type="ns2:cedstr_cle_elem_v1" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns2="urn:CEDSTR">
      <id_structure_det xsi:type="xsd:int">118406</id_structure_det>
      <ordinal xsi:type="xsd:int">2648545</ordinal>
      <appareil xsi:type="xsd:string">C3D1E</appareil>
      <type_cable xsi:type="xsd:string">H</type_cable>
      </multiRef>
    - <multiRef id="id1" soapenc:root="0" soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xsi:type="ns3:cedstr_cle_elem_v1" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns3="urn:CEDSTR">
      <id_structure_det xsi:type="xsd:int">984806</id_structure_det>
      <ordinal xsi:type="xsd:int">2723425</ordinal>
      <appareil xsi:type="xsd:string">O5C3X</appareil>
      <type_cable xsi:type="xsd:string">H</type_cable>
      </multiRef>
    - <multiRef id="id2" soapenc:root="0" soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xsi:type="ns4:cedstr_cle_elem_v1" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns4="urn:CEDSTR">
      <id_structure_det xsi:type="xsd:int">1163686</id_structure_det>
      <ordinal xsi:type="xsd:int">3144641</ordinal>
      <appareil xsi:type="xsd:string">Y0A6B</appareil>
      <type_cable xsi:type="xsd:string">H</type_cable>
      </multiRef>
    - <multiRef id="id3" soapenc:root="0" soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xsi:type="ns5:cedstr_stat_elem_v1" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns5="urn:CEDSTR">
      <tension xsi:type="xsd:string">MT</tension>
      <nb_concess xsi:type="xsd:int">0</nb_concess>
      <nb_restr xsi:type="xsd:int">0</nb_restr>
      <localisation xsi:type="xsd:string">DEVILLERS EST DE BEAUREGARD</localisation>
      <remarque xsi:type="xsd:string" />
      </multiRef>
    - <multiRef id="id4" soapenc:root="0" soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xsi:type="ns6:utlgen_cdr" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns6="urn:CEDSTR">
      <succes xsi:type="xsd:int">1</succes>
      <code xsi:type="xsd:int">0</code>
      <message xsi:type="xsd:string" />
      </multiRef>
      </soapenv:Body>
      </soapenv:Envelope>
      </ns1:cedptr_obt_cle_di_v1_HResponse>
    What I can see is that PI seems to ignore the multiref tag in the SOAP response message. Does anybody knows if there is an issue with the mutiref tag in PI ?
    Thanks for your help.

    The SOAP adapter does not support more than one body child.
    If a SOAP message with several body childs arrive, then only the first body child is considered, all other body childs are ignored.
    Regards
    Stefan

  • How to handle multiRef responses in OSB 10.3???

    We are using OSB 10.3 version.
    I am getting difficulty to get the multiRef soap response in the Service Callout*:
    When I check the SBConsole Invocation Trace the whole response body is appearing in business service but returning part of the response.
    Its missing the multiRef as below:
    <ns4:getProductServiceRequestForUserResponse soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns4="abc:ProductManagementService">
    <getProductServiceRequestForUserReturn href="#id0"/>
    </ns4:getProductServiceRequestForUserResponse>
    It should return
    <soapenv:Body>
    <ns4:getProductServiceRequestForUserResponse soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns4="abc:ProductManagementService">
    <getProductServiceRequestForUserReturn href="#id0"/>
    </ns4:getProductServiceRequestForUserResponse>
    <multiRef id="id0" soapenc:root="0" soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xsi:type="ns5:ProductLinkRequest"
              xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns5="http://ato.domain.services.abc.com">
    <id xsi:type="xsd:long">3068</id>
    <requestStatus href="#id1"/>
    <modifiedDate xsi:type="xsd:dateTime">2009-06-23T01:22:02.000Z</modifiedDate>
    <prd xsi:type="xsd:string">249249</prd>
    <serviceNo href="#id2"/>
    <statusReason xsi:type="xsd:string">Delivery completed</statusReason>
    </multiRef>
    </soapenv:Body>
    After Service Callout, I have tried to assign the reponse to valriable but it returns missing multiRef
    $body/multiRef
    Any suggestions??
    Thank you
    Edited by: user11310683 on Sep 1, 2011 5:20 AM
    Edited by: user11310683 on Sep 2, 2011 2:48 PM

    Getting difficulty to use Java Callout.
    I have written my java class to call webservice and kept all necessary jars in the lib with MANIFEST file.
    I kept all my jars in project/Resources/JAR/*.jar and included all dependency jar to my generated jar.
    But the Java Callout is thowing java.lang.NoClassDefFoundError: javax/wsdl/OperationType
         at org.apache.axis.description.OperationDesc.<clinit>(OperationDesc.java:59)
    Its working fine when I copied all jars in user_project/domains/proj_domain/lib.
    But I don't want to put all my jars at user_project/domains/proj_domain/lib.

  • Help with solution for receiver axis soap multipart

    Hi everybody.
    I've read many questions made by people to this forum with no possitive results to my issue.
    I'm developing a simple scenario : RFC>XI>Webservice in a sync way. I call a FM in an R3
    backend and i must retrieve a string from the webservice.
    First thing i've noticed is that the webservice only works if i set the external definition of it
    in RPC mode. If not, i get the error 'method retrieveData' not found.
    Second thing is that conventional SOAP receiver adapter doesn't work. I must use AXIS option.
    So, i must use RPC mode with AXIS receiver.
    No i've met another problem. When i check sxi_monitor, i have my FM response empty. This is because
    i'm not retrieving the same message that is defined in the webservice. I retrieve a multipart
    message with 3 parts : document-0, document-1 and document-2. I think that response message
    mapping is not working because as document-0 comes a different structure that the one defined
    in message mapping.
    These are the the things i've tried :
    Use of Payloadwapbean in receiver soap axis adapter. I can't put as document-0 the one that has the field i need.
    I tried with ABAP-Mapping but when i try to find the field <name>, is not there.
    Now, i'm thinking in other two solutions. first, develop a module to enhace the SOAP axis receiver.
    First question about this .. will i have the 3 'attachments' so i can get the <name> field?
    Can i use AXIS handlers to get the complete payload (i've read abput it but i don`t understand
    how to do it)?.
    Kind regards,
    Inigo

    Hi again,
    This is what i get in SXI_MONITOR.
    In payloads, i have 3 :
    document-0
    document-1
    document-2
    Double clicking in document-0, i get :
      <?xml version="1.0" encoding="UTF-8" ?>
    - <ns1:ZF_ARQ_DOCUMENTUM_WEBS.Response xmlns:ns1="urn:sap-com:document:sap:rfc:functions">
    - <DATOS>
      <item />
      </DATOS>
      </ns1:ZF_ARQ_DOCUMENTUM_WEBS.Response>
    This is the answer of the message mapping, but is empty.
    Double clicking in document-1 i get :
      <?xml version="1.0" encoding="UTF-8" ?>
    - <multiRef id="id0" soapenc:root="0" soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xsi:type="ns2:RetRecuperar" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns2="http://model.servicio.procop.sgce.aragon.es" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
      <datos xsi:type="xsd:base64Binary">SUkqANQAAABX</datos>
    <retorno href="#id1" />
      </multiRef>
    Here is the field i need, 'datos'.
    Finally, in document-2 i get :
      <?xml version="1.0" encoding="UTF-8" ?>
    - <multiRef id="id1" soapenc:root="0" soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xsi:type="ns3:Retorno" xmlns:ns3="http://model.servicio.procop.sgce.aragon.es" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
      <errorMessage xsi:type="xsd:string" />
      <excepcion xsi:type="xsd:string" />
      <retCode xsi:type="xsd:string">OK</retCode>
      <errorCode xsi:type="xsd:string" />
      </multiRef>
    If i use a test program, such as SOAPUI, i get this answer :
    <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>
          <ns1:recuperarResponse soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns1="urn:MiNameSpacePrueba">
             <recuperarReturn href="#id0"/>
          </ns1:recuperarResponse>
          <multiRef id="id0" soapenc:root="0" soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xsi:type="ns2:RetRecuperar" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns2="http://model.servicio.procop.sgce.aragon.es">
             <datos xsi:type="xsd:base64Binary">SUkqANQAAABX</datos>
    <retorno href="#id1"/>
          </multiRef>
          <multiRef id="id1" soapenc:root="0" soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xsi:type="ns3:Retorno" xmlns:ns3="http://model.servicio.procop.sgce.aragon.es" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">
             <errorMessage xsi:type="xsd:string"/>
             <excepcion xsi:type="xsd:string"/>
             <retCode xsi:type="xsd:string">OK</retCode>
             <errorCode xsi:type="xsd:string"/>
          </multiRef>
       </soapenv:Body>
    </soapenv:Envelope>
    I don't know why i'm getting these 3 documents because in message mapping, the response method of the WSDL is completely different than the message i'm retrieving as the answer.
    Thank you for your answers,
    Kind regards,
    Inigo.

  • Assign error with complex type return message

    Dear all,
    I have an axis web service with complex type return message. When I invoke the web service, and try to assign one element of the result to other variable, it fails with following error message(BPEL Fault:{http://schemas.xmlsoap.org/ws/2003/03/business-process/}selectionFailure{}
    The invoking web service and assignment BPEL source is as follows:
    <invoke name="registerConference" partnerLink="conferenceCenter" portType="tns:ConfArrangementPort" operation="Conference_Register" inputVariable="registerInput" outputVariable="registerOutput"/>
    <copy>
    <from variable="registerOutput" part="Conference_RegisterReturn" query="/Conference_RegisterReturn/confcity"></from>
    <to variable="bookHotelInput" part="si" query="/si/city"/>
    </copy>
    I tunneled the response SOAP message:
    ==== Response ====
    HTTP/1.1 200 OK
    Content-Type: text/xml; charset=utf-8
    Date: Sun, 31 Oct 2004 08:28:27 GMT
    Server: Apache Coyote/1.0
    Connection: close
    <?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>
    <ns1:Conference_RegisterResponse soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns1="http://conference.sjtu.edu">
    <ns1:Conference_RegisterReturn href="#id0"/>
    </ns1:Conference_RegisterResponse>
    <multiRef id="id0" soapenc:root="0" soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xsi:type="ns2:ConfInfo" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns2="http://conference.sjtu.edu">
    <confcity xsi:type="xsd:string">star</confcity>
    <confend xsi:type="xsd:string">20041120</confend>
    <confstart xsi:type="xsd:string">20041116</confstart>
    </multiRef>
    </soapenv:Body>
    </soapenv:Envelope>
    ==============
    However, when i check the invoke activity audit trail, it return the following info:
    <messages>
    <registerInput>
    <part xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance" name="gi">
    <gi xmlns="http://conference.sjtu.edu">
    <attendeename xmlns="">ss</attendeename>
    <confname xmlns="">hh</confname>
    </gi>
    </part>
    </registerInput>
    <registerOutput>
    <part xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance" name="Conference_RegisterReturn">
    <ns1:Conference_RegisterReturn xmlns:ns1="http://conference.sjtu.edu" href="#id0" />
    </part>
    </registerOutput>
    </messages>
    The detailed value of the return message lost, only leaving the href. Can I find the desired value again? should I try another XPATH expression? should I parse the result from the SOAP message directly? Or it's a problem of the system itself?
    Hope you can do me a favor, thanks.

    From Axis's user guide: RPC services default to the soap section 5 encoding rules, objects will be encoded via "multi-ref" serialization. Document services do not use any encoding (so in particular, you won't see multiref object serialization or SOAP-style arrays on the wire)
    May be I should try document service style instead of RPC. Thanks for your reply.

  • JAXRPC ws-client generation failure with WL10.3

    Hi all.
    My deep apologies for crossposting; this question was posted first to "WebLogic Server - Upgrade" forum and just later I found this webservices related topic.
    I'm copying it as it for for the sake of convenience.
    I'm facing a problem to generate web-service client with WL-10.3, while WL-9.2 works pretty fine with this WSDL.
    My ANT task is:
    <clientgen
    type="JAXRPC"
    wsdl="${WSDL}"
    destDir="${DESTDIR}"/>
    In case type is set to JAXWS, generation succeeds. However, if I set it to JAXRPC (I need to enable multirefs to support closed graphs), the generation fails with exception:
    weblogic.wsee.tools.WsBuildException: weblogic.descriptor.DescriptorException: Failed to marshal: weblogic.j2ee.descriptor.JavaWsdlMappingBeanImpl
    at weblogic.wsee.tools.anttasks.ClientGenFacadeTask.execute(ClientGenFacadeTask.java:235)
    at weblogic.wsee.tools.anttasks.ClientGenTask.execute(ClientGenTask.java:358)
    Caused by: java.io.IOException
    at weblogic.descriptor.internal.MarshallerFactory.<init>(MarshallerFactory.java:50)
    at weblogic.descriptor.BasicDescriptorManager.getMarshallerFactory(BasicDescriptorManager.java:137)
    Caused by: com.bea.xml.XmlException: unable to load type library from classloader org.apache.tools.ant.AntClassLoader@104c575
    at com.bea.staxb.runtime.internal.BindingContextFactoryImpl.createBindingContext(BindingContextFactoryImpl.java:50)
    at weblogic.descriptor.internal.MarshallerFactory.<init>(MarshallerFactory.java:48)
    Are there any known limitations/issues regarding JAXRPC support for WL-10.3?
    Is there any workaround for this problem?
    Greatly appreciating any inputs
    Sincerely
    Jabb

    Updates.
    Meanwhile I found that the mentioned failure is caused due to inner calls to ClassLoader.getResources() searches for "META-INF/binding-file.ser" and "META-INF/binding-mapping-file.ser" calls which returns empty results. However these files were succesfully created in directory pointed by destDir attribute. I added the destDir dir to taks's classpath:
    <clientgen
    type="JAXRPC"
    wsdl="${WSDL}"
    destDir="${DESTDIR}">
    <classpath>
         <pathelement location="${DESTDIR}"/>
    </classpath>
    </clientgen>
    and this faulire was gone, but new appeared:
    weblogic.wsee.tools.WsBuildException: weblogic.descriptor.DescriptorException: Failed to marshal: weblogic.j2ee.descriptor.JavaWsdlMappingBeanImpl
         at weblogic.wsee.tools.anttasks.ClientGenFacadeTask.execute(ClientGenFacadeTask.java:235)
    Caused by: com.bea.xml.XmlException: failed to find root element corresponding to weblogic.j2ee.descriptor.JavaWsdlMappingBeanImpl
         at com.bea.staxb.runtime.internal.MarshallerImpl.lookupRootElementName(MarshallerImpl.java:70)
         at com.bea.staxb.runtime.internal.MarshallerImpl.marshal(MarshallerImpl.java:139)
         at com.bea.staxb.runtime.internal.MarshallerImpl.marshal(MarshallerImpl.java:191)
         at weblogic.descriptor.BasicDescriptorManager.writeDescriptorBeanAsXML(BasicDescriptorManager.java:503)

  • MultiRef Response

    Hi,
    I have configured XI to call SOAP axis web service - using SOAP adapter. But the response message from the web service contains multiref.
    Which looks like this (tested using soapui) ::
    <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>
          <ns1:getCustAcctHierarchyDtlsResponse soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns1="http://eai.pegasus.singtel/wsesm/server">
             <custHierarchyDO href="#id0"/>
          </ns1:getCustAcctHierarchyDtlsResponse>
          <multiRef id="id0" soapenc:root="0" soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xsi:type="ns2:CustHierarchyDO" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns2="http://pegasus/WsEsm">
             <custAcctList xsi:type="soapenc:Array" soapenc:arrayType="ns2:AcctInfoDO[2]">
                <item href="#id1"/>
                <item href="#id2"/>
             </custAcctList>
    But when the message comes into XI, the payload only has this and all the multirefs are missing :
      <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
    - <!--  Call Adapter
      -->
    - <ns1:getCustAcctHierarchyDtlsResponse xmlns:ns1="http://pegasus/WsEsm" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
      <custHierarchyDO href="#id0" />
      </ns1:getCustAcctHierarchyDtlsResponse>
    Any idea where/how to view the multiref and get it into R/3?
    I'm using SOAP receiver communication channel. I did not check any of the options under 'Coversion Parameters'.

    > One last qns :Does R/3 proxy means it does not require XI/PI at all? it's R/3 directly calling the web service, right?
    I mean ABAP proxy. The message response goes over PI unchanged to the ABAP proxy. There you read the attachments and puzzle the message together.
    > Unfortunately, the web service owner is not willing to change - as it would affect other java applications.
    I know this kind of discussion. The interface owners are never willing to change anything.
    It would be much less effort to provide an addtional web service as dealing with the structure in PI.
    But of course, it would be more effort for hin, less for you, so you can imaging the aswer...

  • Parsing multiref elements

    hi!
    I am trying to parse xml documents with elements like the following.
                    <ns1:fullRequestResponse xmlns:ns1="http://some.name.space">
                   <token href="#ID1"/>
                   <result href="#ID2"/>
                   <charged href="#ID3"/>
              </ns1:fullRequestResponse>...
              <ns1:response id="ID2" xsi:type="ns1:response">
                   <result xsi:type="xsd:string">accepted</result>
                   <text xsi:type="xsd:string">accepted</text>
              </ns1:response>Using DOM I only get an element with the attribute href="#ID2", the child element ( response ) is not accessible. Do I have to resolve the multiref by myself or can I use DOM (or JDOM, SAX., ...) to do that for me?
    cheers,,
    Philipp

    I am currently faced with a similar issue. The following are the details. Any insights?
    *** XML Document ***
    <ns1:Body xmlns:ns1="http://schemas.xmlsoap.org/soap/envelope/">
    <ns1:echoObjectResponse soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns1="http://localhost:8080/axis/EchoHeaders.jws" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
    <ns1:echoObjectReturn href="#id0"/>
    </ns1:echoObjectResponse>
    <multiRef id="id0" soapenc:root="0" ns1:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">
    <description xsi:type="ns2:string" xsi:nil="true" xmlns:ns2="http://www.w3.org/2003/05/soap-encoding" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
    <id href="#id1"/>
    <name xsi:type="soapenc:string" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Internet Widget</name>
    </multiRef>
    <multiRef id="id1" soapenc:root="0" ns1:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xsi:type="xsd:long" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">1</multiRef>
    </ns1:Body>
    *** Code for parsing ***
    DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
    DocumentBuilder builder = factory.newDocumentBuilder();
    Document document = builder.parse("c:\\sample.xml");
    System.out.println("Printing multi-ref info: " + document.getElementsByTagNameNS("http://localhost:8080/axis/EchoHeaders.jws", "echoObjectResponse").getLength());
    //// above prints the value 0
    Thanks,
    -ac

  • Trouble invoking Axis service with multiple parameters

    Hallo Java experts,
    I have a problem with Axis 1.2RC2 (and Tomcat 5.0.19, JDK 1.5, Win XP) that might be quite simple, but I'm not so experienced and running out of ideas.
    Everything works fine as long as I use a single Parameter. But I can't invoke service methods with more parameters, independent of the parameters' (simple) types! Different exceptions are thrown, depending on the way I invoke the service. It's either ...
    - a java.lang.IllegalArgumentException (case 1)
    "Tried to invoke method public java.lang.String test.server.TestSoapBindingImpl.printLongs(long,long) with arguments java.lang.Long,null. The arguments do not match the signature."
    - or an org.xml.sax.SAXException (case 2)
    "SimpleDeserializer encountered a child element, which is NOT expected, in something it was trying to deserialize."
    Here's an example of a simple web service, that takes two longs and should return a string. In case 1 the service is invoked using a service locator in case 2 with a 'Call' object and explicitly set parameter types.
    Thanks in advance for your help!
    Dave
    service[b]
    public class TestSoapBindingImpl implements test.server.Test{
      public String printLongs(long long_1, long long_2){
        return "long_1 = " +long_1 +", long_2 = " +long_2;
    [b]case 1
    client
    public class TestClient {
      public static void main (String[] args) throws Exception {     
        TestService service = new TestServiceLocator();
        Test testProxy = service.gettest();     
        long longVal = 1L; 
        response = testProxy.printLongs(longVal, longVal);
        System.out.println(response);
    SOAP messsage
    <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>
          <in6 xmlns="urn:TestNS">1</in6>
          <in7 xmlns="urn:TestNS">1</in7>
       </soapenv:Body>
    </soapenv:Envelope>
    Axis' log file
    Part of the log, where only the first argument of 'printLongs' is properly converted before the exception is thrown.
    17886  org.apache.axis.utils.JavaUtils
            - Trying to convert java.lang.Long to long
    17886  org.apache.axis.i18n.ProjectResourceBundle
            - org.apache.axis.i18n.resource::handleGetObject(value00)
    17886  org.apache.axis.providers.java.RPCProvider
            -   value:  1
    17886  org.apache.axis.i18n.ProjectResourceBundle
            - org.apache.axis.i18n.resource::handleGetObject(dispatchIAE00)
    17986  org.apache.axis.providers.java.RPCProvider
            - Tried to invoke method public java.lang.String test.server.TestSoapBindingImpl.printLongs(long,long) with arguments java.lang.Long,null.  The arguments do not match the signature.
    java.lang.IllegalArgumentException
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:585)
         at org.apache.axis.providers.java.RPCProvider.invokeMethod(RPCProvider.java:384)
          at org.apache.axis.providers.java.RPCProvider.processMessage(RPCProvider.java:281)
         at org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:319)
         at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
         at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
         at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
         at org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:450)
         at org.apache.axis.server.AxisServer.invoke(AxisServer.java:285)
         at org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:653)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
         at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:301)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
    case 2
    client
    public class TestClient2
      public static void main(String [] args) {
        try {
           String endpoint =
             "http://localhost:1234/axis1.2rc2/services/test";
           Service  service = new Service();
           Call     call    = (Call) service.createCall();
           call.setTargetEndpointAddress( new java.net.URL(endpoint) );
           call.setOperationName(new QName("urn:TestNS", "printLongs") );
           call.addParameter("in6",
                             org.apache.axis.Constants.XSD_LONG,
                             javax.xml.rpc.ParameterMode.IN);
           call.addParameter("in7",
                             org.apache.axis.Constants.XSD_LONG,
                             javax.xml.rpc.ParameterMode.IN);
           call.setReturnType(org.apache.axis.Constants.XSD_STRING);
           String response = (String) call.invoke( new Object[] { 1L, 1L } );
           System.out.println(response);
        } catch (Exception e) {
           System.err.println(e.toString());
    SOAP messsage
    <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>
          <ns1:printLongs soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns1="urn:TestNS">
             <in6 href="#id0"/>
             <in7 href="#id0"/>
          </ns1:printLongs>
          <multiRef id="id0" soapenc:root="0" soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xsi:type="xsd:long" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">1</multiRef>
       </soapenv:Body>
    </soapenv:Envelope>
    Exception
    AxisFault
    faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
    faultSubcode:
    faultString: org.xml.sax.SAXException: SimpleDeserializer encountered a child element, which is NOT expected, in something it was trying to deserialize.
    faultActor:
    faultNode:
    faultDetail:
         {http://xml.apache.org/axis/}stackTrace:org.xml.sax.SAXException: SimpleDeserializer encountered a child element, which is NOT expected, in something it was trying to deserialize.
      at org.apache.axis.encoding.ser.SimpleDeserializer.onStartChild(SimpleDeserializer.java:143)
      at org.apache.axis.encoding.DeserializationContext.startElement(DeserializationContext.java:1031)
      at org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.java:165)
      at org.apache.axis.message.MessageElement.publishToHandler(MessageElement.java:1140)
      at org.apache.axis.message.RPCElement.deserialize(RPCElement.java:238)
      at org.apache.axis.message.RPCElement.getParams(RPCElement.java:386)
      at org.apache.axis.providers.java.RPCProvider.processMessage(RPCProvider.java:148)
      at org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:319)
      at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
      at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
      at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
      at org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:450)
      at org.apache.axis.server.AxisServer.invoke(AxisServer.java:285)
      at org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:653)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
      at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:301)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
      ....

    Dave, not sure if you still are looking for an answer but i hate seeing unreplied posts so i felt i needed to post something. I'm just beginning with this stuff as well so take my suggestions with a grain of salt....or a beer. Anyways, case 2 would show that you are getting your parameters through properly because the "deserialization" errror is targetted towards the soap reply. Most likely you are trying to receive back a none primitive type. :-D i.e. such as the problem that i'm having.
    hope that helps somewhat.
    graeme.

  • SOAP request has multiref/soapenc:Array elements

    Hi there - I am receiving a request that is structured using multiref elements. When I examine the SOAP request in the diagnostic log, I see all of the data, but when it gets to the mediator, only the elements in id0 are populated and the rest of the elements are empty. I have seen a few posts that OSB does not handle multirefs, but wanted to see if anyone has solved the problem in another way.
    I am currently using jDev 11.1.1.2 but moving soon to 11.1.1.5. Here is the associated wsdl, an example of the raw SOAP request (which has all of the data) and then the input to my mediator (with the empty elements):
    The problem is occurring with the "Keys" type which is a soapenc:Array. In this case I get the id0 Keys element but the rest of the Keys elements (id1, id2, id3 and id4) are empty when it gets to my mediator.
    WSDL_
         <s:complexType name="Document">
              <s:sequence>
              <s:element name="Keys" type="tns:Keys" />
              <s:element name="IdentifierDisplay" type="s:string" minOccurs="0" maxOccurs="1" />
              <s:element name="contextType" type="s:string" minOccurs="0" maxOccurs="1" />
              <s:element name="autodownload" type="s:boolean" minOccurs="0" maxOccurs="1" />
              <s:element name="ObjectId" type="tns:ObjectId" />
              <s:element name="Type" type="tns:Type" minOccurs="0" maxOccurs="1" />
              <s:element name="EditURL" type="s:string" minOccurs="0" maxOccurs="1" />
              <s:element name="Description" type="s:string" minOccurs="0" maxOccurs="1" />
              <s:element name="Date" type="s:date" minOccurs="0" maxOccurs="1" />
              <s:element name="Time" type="s:time" minOccurs="0" maxOccurs="1" />
              <s:element name="Status" type="tns:Status" minOccurs="0" maxOccurs="1" />
              <s:element name="DocumentLocators" type="tns:DocumentLocators" minOccurs="0" maxOccurs="1" />
    <s:element name="content" type="s:base64Binary" minOccurs="0" maxOccurs="1" />
              </s:sequence>
         </s:complexType>
         <s:complexType name="Type">
              <s:sequence>
              <s:element name="Keys" type="tns:Keys" />
              <s:element name="IdentifierDisplay" type="s:string" minOccurs="0" maxOccurs="1" />
              </s:sequence>
         </s:complexType>
         <s:complexType name="Status">
                   <s:sequence>
                   <s:element name="Keys" type="tns:Keys" minOccurs="0" maxOccurs="1" />
              <s:element name="Name" type="s:string" minOccurs="0" maxOccurs="1" />
              <s:element name="Value" type="s:string" minOccurs="0" maxOccurs="1" />
              <s:element name="Date" type="s:date" minOccurs="0" maxOccurs="1" />
              <s:element name="Time" type="s:time" minOccurs="0" maxOccurs="1" />
                   </s:sequence>
         </s:complexType>
         <s:complexType name="ElectronicFileLocator">
                   <s:sequence>
                   <s:element name="Keys" type="tns:Keys" minOccurs="0" maxOccurs="1" />
              <s:element name="IdentifierDisplay" type="s:string" minOccurs="0" maxOccurs="1" />
              <s:element name="contextType" type="s:string" minOccurs="0" maxOccurs="1" />
              <s:element name="filename" type="s:string" minOccurs="0" maxOccurs="1" />
              <s:element name="fileDateTime" type="s:string" minOccurs="1" maxOccurs="1" />
              <s:element name="fileLocation" type="s:string" minOccurs="0" maxOccurs="1" />
              <s:element name="fileSize" type="s:string" minOccurs="0" maxOccurs="1" />
              <s:element name="serverAddress" type="s:string" minOccurs="0" maxOccurs="1" />
              <s:element name="serverDescription" type="s:string" minOccurs="1" maxOccurs="1" />
              <s:element name="serverType" type="s:string" minOccurs="0" maxOccurs="1" />
              <s:element name="serverPlatform" type="s:string" minOccurs="0" maxOccurs="1" />
              <s:element name="serverVendor" type="s:string" minOccurs="0" maxOccurs="1" />
                   </s:sequence>
         </s:complexType>
         <s:complexType name="PhysicalDocumentLocator">
                   <s:sequence>
                   <s:element name="Keys" type="tns:Keys" minOccurs="0" maxOccurs="1" />
              <s:element name="IdentifierDisplay" type="s:string" minOccurs="0" maxOccurs="1" />
              <s:element name="contextType" type="s:string" minOccurs="0" maxOccurs="1" />
              <s:element name="location" type="s:string" minOccurs="0" maxOccurs="1" />
              <s:element name="Date" type="s:date" minOccurs="1" maxOccurs="1" />
                   </s:sequence>
         </s:complexType>
    <s:complexType name="DocumentLocators">
         <s:sequence>
              <s:element name="ElectronicFileLocator" type="tns:ElectronicFileLocator" minOccurs="0" maxOccurs="1" />
              <s:element name="PhysicalDocumentLocator" type="tns:PhysicalDocumentLocator" minOccurs="0" maxOccurs="1" />
              </s:sequence>
    </s:complexType>
         <s:complexType name="Keys">
              <s:complexContent mixed="false">
                   <s:restriction base="soapenc:Array">
                        <s:attribute wsdl:arrayType="s:string[]" ref="soapenc:arrayType" />
                   </s:restriction>
              </s:complexContent>
         </s:complexType>
    XML input from diagnostic.log Note: bold elements are missing once it gets to my mediator_
    <?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>
    <ns1:create xmlns:ns1="http://www.replaced.com/edms" soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
    <Document href="#id0"/>
    </ns1:create>
    <multiRef xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns2="http://www.replaced.com/edms/types" id="id0" soapenc:root="0" soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xsi:type="ns2:Document">
    <Keys soapenc:arrayType="xsd:string[3]" xsi:type="soapenc:Array">
    <Keys xsi:type="xsd:string">DENVER</Keys>
    <Keys xsi:type="xsd:string">CAP</Keys>
    <Keys xsi:type="xsd:string" xsi:nil="true"/>
    </Keys>
    <IdentifierDisplay xsi:type="xsd:string">2011-SITE-000011</IdentifierDisplay>
    <contextType xsi:type="xsd:string">application/xml</contextType>
    <autodownload xsi:type="xsd:boolean">false</autodownload>
    <ObjectId href="#id1"/>
    <Type href="#id2"/>
    <Description xsi:type="xsd:string">skipper7</Description>
    <EditURL xsi:type="xsd:string" xsi:nil="true"/>
    <Date xsi:type="xsd:date">2011-11-03</Date>
    <Time xsi:type="xsd:time" xsi:nil="true"/>
    <Status xsi:type="ns2:Status" xsi:nil="true"/>
    <DocumentLocators href="#id3"/>
    </multiRef>
    <multiRef xmlns:ns3="http://www.replaced.com/edms/types" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" id="id3" soapenc:root="0" soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xsi:type="ns3:DocumentLocators">
    <ElectronicFileLocator href="#id4"/>
    <PhysicalDocumentLocator xsi:type="ns3:PhysicalDocumentLocator" xsi:nil="true"/>
    </multiRef>
    *<multiRef xmlns:ns4="http://www.replaced.com/edms/types" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" id="id2" soapenc:root="0" soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xsi:type="ns4:Type">*
    *<Keys soapenc:arrayType="xsd:string[3]" xsi:type="soapenc:Array">*
    *<Keys xsi:type="xsd:string">DENVER</Keys>*
    *<Keys xsi:type="xsd:string">CAP</Keys>*
    *<Keys xsi:type="xsd:string" xsi:nil="true"/>*
    *</Keys>*
    *<IdentifierDisplay xsi:type="xsd:string">Inspection Notice</IdentifierDisplay>*
    *</multiRef>*
    *<multiRef xmlns:ns5="http://www.replaced.com/edms/types" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" id="id1" soapenc:root="0" soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xsi:type="ns5:ObjectId">*
    *<Keys soapenc:arrayType="xsd:string[3]" xsi:type="soapenc:Array">*
    *<Keys xsi:type="xsd:string">DENVER</Keys>*
    *<Keys xsi:type="xsd:string">CAP</Keys>*
    *<Keys xsi:type="xsd:string" xsi:nil="true"/>*
    *</Keys>*
    *<IdentifierDisplay xsi:type="xsd:string">2011-SITE-000011</IdentifierDisplay>*
    *<Value xsi:type="xsd:string"/>*
    *<contextType xsi:type="xsd:string">application/xml</contextType>*
    *</multiRef>*
    *<multiRef xmlns:ns6="http://www.replaced.com/edms/types" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" id="id4" soapenc:root="0" soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xsi:type="ns6:ElectronicFileLocator">*
    *<Keys soapenc:arrayType="xsd:string[3]" xsi:type="soapenc:Array">*
    *<Keys xsi:type="xsd:string">DENVER</Keys>*
    *<Keys xsi:type="xsd:string">CAP</Keys>*
    *<Keys xsi:type="xsd:string" xsi:nil="true"/>*
    *</Keys>*
    *<IdentifierDisplay xsi:type="xsd:string" xsi:nil="true"/>*
    *<contextType xsi:type="xsd:string">application/xml</contextType>*
    *<filename xsi:type="xsd:string">ExternalAPOService.wsdl</filename>*
    *<fileDateTime xsi:type="xsd:string">2011-11-03T16:20:46</fileDateTime>*
    *<fileLocation xsi:type="xsd:string">ExternalAPOService.wsdl</fileLocation>*
    *<fileSize xsi:type="xsd:string">24084</fileSize>*
    *<serverAddress xsi:type="xsd:string" xsi:nil="true"/>*
    *<serverDescription xsi:type="xsd:string">skipper7</serverDescription>*
    *<serverType xsi:type="xsd:string" xsi:nil="true"/>*
    *<serverPlatform xsi:type="xsd:string" xsi:nil="true"/>*
    *<serverVendor xsi:type="xsd:string" xsi:nil="true"/>*
    *</multiRef>* </soapenv:Body>
    </soapenv:Envelope>
    XML input when looking at the input to my mediator in em_
    <Document>
         <Keys soapenc:arrayType="xsd:string[3]" xsi:type="soapenc:Array" xmlns:ns1="http://www.replaced.com/edms" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">
              <Keys xsi:type="xsd:string">DENVER</Keys>
              <Keys xsi:type="xsd:string">CAP</Keys>
              <Keys xsi:type="xsd:string" xsi:nil="true"/>
         </Keys>
         <IdentifierDisplay xsi:type="xsd:string" xmlns:ns1="http://www.replaced.com/edms" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">2011-SITE-000011</IdentifierDisplay>
         <contextType xsi:type="xsd:string" xmlns:ns1="http://www.replaced.com/edms" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">application/xml</contextType>
         <autodownload xsi:type="xsd:boolean" xmlns:ns1="http://www.replaced.com/edms" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">false</autodownload>
         <ObjectId href="#id1" xmlns:ns1="http://www.replaced.com/edms" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
         <Type href="#id2" xmlns:ns1="http://www.replaced.com/edms" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
         <Description xsi:type="xsd:string" xmlns:ns1="http://www.replaced.com/edms" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
         <EditURL xsi:type="xsd:string" xsi:nil="true" xmlns:ns1="http://www.replaced.com/edms" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
         <Date xsi:type="xsd:date" xmlns:ns1="http://www.replaced.com/edms" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">2011-11-03</Date>
         <Time xsi:type="xsd:time" xsi:nil="true" xmlns:ns1="http://www.replaced.com/edms" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
         <Status xsi:type="ns2:Status" xsi:nil="true" xmlns:ns1="http://www.replaced.com/edms" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
         <DocumentLocators href="#id3" xmlns:ns1="http://www.replaced.com/edms" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
    </Document>
    Edited by: mi**** on Nov 4, 2011 7:24 AM

    Hi PeterFL,
    Well Done!
    Thank you very much for sharing the solution to us.
    Best Regards,
    Amy Peng
    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click
    HERE to participate the survey.

  • OSB - Handling multiRef responses?

    I have to connect to an Axis webservice which forces multiRef.
    Does anyone have suggestions for working with the response? Is there any Oracle tools which will help here so I can properly use XPath?
    (I've also noticed behavior difference between Service Callout and Route, shown below)
    *Here is what OSB gets in the body coming back from Proxy Service Route to the business service:*
    <ns1:getHeaderResponse soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns1="http://bd.ews.xxxxx.com" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
    <getHeaderReturn href="#id0"/>
    </ns1:getHeaderResponse>
    *Yet here is the SOAP response when I test the Business Service directly or call it via Proxy Service Service Callout*:
         <soapenv:Body>
         <ns1:getHeaderResponse      soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns1="http://bd.ews.xxxxx.com">
         <getHeaderReturn      href="#id0"/>
         </ns1:getHeaderResponse>
         <multiRef      id="id0" soapenc:root="0" soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xsi:type="ns2:DealHeader" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns2="urn:ews-structs">
         <agent_deal_fl      xsi:type="xsd:string">N</agent_deal_fl>
         <attach_fl      xsi:type="xsd:string">N</attach_fl>
         <bd_id      xsi:type="xsd:string">5449DDF</bd_id>
         <bd_version_nr      xsi:type="xsd:int">1</bd_version_nr>
         <beg_dt      xsi:type="xsd:string">16-Jul-2010 00:00</beg_dt>
         <end_dt      xsi:type="xsd:string">30-Sep-2011 00:00</end_dt>
    <!---- snip --->
    </multiRef>
    </soapenv:Body>
    I also found this thread stating SOA/BPEL team does not support it -- hoping Aqualogic did provide some type of support...
    About multiRef

    Anuj Dwivedi wrote:
    I could successfully get the value of bd_version_nr using below expression -
    Assign [ $body/multiRef/bd_version_nr/text() ] to [ var1 ]The limitation and problem here is if I had multiple multiRef responses. I don't want to hard-code id0 as its dynamic. See below for example. It would be easiest if OSB would sort out appropriate multiRef structures since it knows the schema already.
    example:
    +<soapenv:Body>+
    +<ns1:getHeaderResponse soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns1="http://bd.ews.xxxxx.com">+
    *+<getHeaderReturn href="#id0"/>+*
    *+<getHeaderExtensions href="#id1"/>+*
    +</ns1:getHeaderResponse>+
    +<*multiRef id="id0"* soapenc:root="0" soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xsi:type="ns2:DealHeader" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns2="urn:ews-structs">+
    +<agent_deal_fl xsi:type="xsd:string">N</agent_deal_fl>+
    +<attach_fl xsi:type="xsd:string">N</attach_fl>+
    +<bd_id xsi:type="xsd:string">5449DDF</bd_id>+
    *+<bd_version_nr xsi:type="xsd:int">1</bd_version_nr>+*
    +<beg_dt xsi:type="xsd:string">16-Jul-2010 00:00</beg_dt>+
    +<end_dt xsi:type="xsd:string">30-Sep-2011 00:00</end_dt>+
    +<!---- snip --->+
    +<*multiRef id="id1"* soapenc:root="0" soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xsi:type="ns2:DealHeader" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns2="urn:ews-structs">+
    *+<bd_version_nr xsi:type="xsd:int">1</bd_version_nr>+*
    +<extra elements />+
    +<!---- snip --->+
    +</multiRef>+
    +</soapenv:Body>+
    Anuj Dwivedi wrote:
    As far as I know, you can convert the multiref xml to normal structure using XSLT or similar conversion technologies but I have never tried this. It's an interesting use case and I would at least try it once at my end.I will try it when I get time. Are you saying that you are also going to try it yourself?
    Edited by: jjhowey on Oct 7, 2010 10:25 AM
    Edited by: jjhowey on Oct 7, 2010 10:28 AM
    Edited by: jjhowey on Oct 7, 2010 10:29 AM

  • How to create a ComplexType (MULTIREF) soap element using SAAJ

    Hello,
    Bieng a SOAP newbie, I am faced with the task of creating a simple POST message using SAAJ, and then get a response. I have had no problems until now, since I cannot find out how to create the proper "element" to represent a complex type. Basically, I need to pass an object ("OBJECT") which contains three parameters (a, b,c). What is the correct syntax in order to do this? For example, how can I emulate the follwoing multiref xml snippet using the SAAJ API:
    <multiRef id="id0" soapenc:root="0" soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xsi:type="ns2:Object" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns2="Object">
         <a xsi:type="xsd:string"></a>
         <b xsi:type="xsd:string"></b>
         <c xsi:type="xsd:string"></c>
    </multiRef>
    I have tried various versions of the Name and SOAPBodyElement, as well as the SOAPElement but to no avail. AM I missing something obvious here?
    Thanks in advance for any suggestions!

    Hello,
    I have exactly the same question. I want to generate a soaprequest dummy; the parameters should have no value.
    Is there any solution or do I have to generate I manually?
    Regards,
    Dak

Maybe you are looking for

  • Setting up excel services on Sharepoint 2010

    I am using sharepoint 2010 enterprise version, and needs some advice with setting up excel services. When installing sharepoint 2010 enterprise, is the service application for excel services already installed. I see it listed so i assume it is, but i

  • Business Area not populated for F110 but it works for FBZ2

    Hi all Gurus, I have marked my co code in OBY6 for Business Area Financial Statement.  In GL a/c, I also marked the FSG to be "Required" field.  For posting key field status, it set to "Optional" During F110 auto payment run, the Business Area field

  • Quicklooksatellite quit unexpectedly while using Sequel pro plugin

    Hi Friends, Here I have a problem, which occurs almost avery 30min. I'm honestly not aware what is going on, so could you help me please! Here is the log Thank you so much in advance Slavi

  • Best Practices for install InfoCube 0FIGL_C10 BI 7.3

    Dear all, We are currently in BI 7.3 and there is a new cube using table FAGLFLEXT from FIGL, does anybody has the best practices on how to install this cube step by step, from datasource / psa / ods / cube. Thanks in advance, Antony

  • Planned Dep not posted for retired assets

    Hi , We are running the asset depreication everymonth end, and it was posting without any errors. But suddenly we found that some assets which we retired have still not posted the balance depreication and it is still reflecting in Planned Depreicatio