PB & web service : how to manipulate soap envelop ?

Hi all,
I am in the process of testing PB's ability to consume an existing web service. I have done some reading left and right.
I can create the proxy , but i always end up having the Cannot invoke webservice messagebox.
Here's my little piece of PB code 
PB CODE START
soapconnection conn // Define SoapConnection
checkvatport proxy_obj // Declare proxy
long rVal, lLog
real amount
date date_a
string ls_a,ls_b,ls_c
conn = create soapconnection  //Instantiated connection
lLog = conn.SetSoapLogFile ("C:\mySoapLog.log")
rVal = Conn.CreateInstance(proxy_obj, "checkvatport", "")
messagebox("test rval",string(rval))
// Create proxy object
try
   date_a = today()
  boolean w_t
  w_t = TRUE
   str_checkvat str1
   tns1__checkvatresponse str2
  str1.countrycode = "BE"
  str1.vatnumber = "0810416786"
  ls_a  = proxy_obj.checkvat(str1.countryCode,str1.vatNumber,str2.requestdate,str2.valid,str2.address)
  messagebox("LS-a",ls_a)
catch ( SoapException e )
   messagebox ("Error", "Cannot invoke Web service")
   // error handling  
end try
destroy conn
PB CODE END
And here's the soaplog contents
SOAPLOG START
CLOSED
REQUEST:
CLOSED
POST /taxation_customs/vies/services/checkVatService HTTP/1.1
Host: ec.europa.eu
Connection: Keep-Alive
User-Agent: EasySoap++/0.6
Content-Type: text/xml; charset=utf-8
SOAPAction: "urn:ec.europa.eu:taxud:vies:services:checkVat#checkVat"
Content-Length: 654
<E:Envelope
  xmlns:E="http://schemas.xmlsoap.org/soap/envelope/"
  xmlns:A="http://schemas.xmlsoap.org/soap/encoding/"
  xmlns:s="http://www.w3.org/2001/XMLSchema-instance"
  xmlns:y="http://www.w3.org/2001/XMLSchema"
  E:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<E:Body>
<m:checkVat
  xmlns:m="urn:ec.europa.eu:taxud:vies:services:checkVat:types">
<ns1:countryCode
  xmlns:ns1="urn:ec.europa.eu:taxud:vies:services:checkVat"
  s:type="y:string">BE</ns1:countryCode>
<ns2:vatNumber
  xmlns:ns2="urn:ec.europa.eu:taxud:vies:services:checkVat"
  s:type="y:string">0810416786</ns2:vatNumber>
</m:checkVat>
</E:Body>
</E:Envelope>
RESPONSE:
HTTP/1.1 500 Internal Server Error
Date: Wed, 04 Jun 2014 09:33:11 GMT
Transfer-Encoding: chunked
Content-Type: text/xml; charset=UTF-8
Server: Europa
Connection: Keep-Alive
Transfer is Chunked!
01d7
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:Body><soap:Fault><faultcode>soap:Client</faultcode><faultstring>Unmarshalling Error: unexpected element (uri:"urn:ec.europa.eu:taxud:vies:services:checkVat", local:"countryCode"). Expected elements are &lt;{urn:ec.europa.eu:taxud:vies:services:checkVat:types}vatNumber>,&lt;{urn:ec.europa.eu:taxud:vies:services:checkVat:types}countryCode> </faultstring></soap:Fault></soap:Body></soap:Envelope>
0000
GetChunkLength: 01d7 = 471
Connection Disconnected
SOAPLOG END
Now i tried the to cut and paste the above soap envelop in SOAPUI , and it gives me the exact same error message as in the soaplog.
I then tried creating a request through SOAPUI but based on the wdsl ,SOAPUI is giving me a different soap envelop as the one PB generated ?
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:ec.europa.eu:taxud:vies:services:checkVat:types">
   <soapenv:Header/>
   <soapenv:Body>
      <urn:checkVat>
         <urn:countryCode>?</urn:countryCode>
         <urn:vatNumber>?</urn:vatNumber>
      </urn:checkVat>
   </soapenv:Body>
</soapenv:Envelope>
If i enter parameters in the above envelop and check it through SOAPUI , i end up having the result i want.
Is there any way we can manipulate the soap envelop contents ? Or does anyone have any idea why the soap envelop generated by PB ends up having the above mentioned error in the soaplog file ?
What am i missing ?
TIA
John

You're using the EasySOAP proxy.  You didn't mention what version of PowerBuilder, but if you're using a version that supports the .Net engine instead use that.  The EasySOAP web service support is quite old.
Once you do that you won't be able to use the log.  Instead, use something like Fiddler to trap the request and response.

Similar Messages

  • How To Create SOAP Envelop For WSDL

    Hi Friends,
    I have created one  webservice WSDL and i want to create SOAP Envelop for this.
    Can any one help me out how to create SOAP Envelop based on WSDL.
    ***************My WSDL***********************************
    <?xml version="1.0" encoding="UTF-8" ?>
    - <!-- Published by JAX-WS RI at http://jax-ws.dev.java.net. RI's version is Oracle JAX-WS 2.1.5.
    -->
    - <!-- Generated by JAX-WS RI at http://jax-ws.dev.java.net. RI's version is Oracle JAX-WS 2.1.5.
    -->
    - <definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://annotation/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://schemas.xmlsoap.org/wsdl/" targetNamespace="http://annotation/" name="MyCompanyWS">
    - <types>
    - <xsd:schema>
    <xsd:import namespace="http://annotation/" schemaLocation="http://localhost:7101/WebService-Annotation-context-root/MyCompanyPort?xsd=1" />
    </xsd:schema>
    </types>
    - <message name="setMyDepts">
    <part name="parameters" element="tns:setMyDepts" />
    </message>
    - <message name="setMyDeptsResponse">
    <part name="parameters" element="tns:setMyDeptsResponse" />
    </message>
    - <message name="getMyDepts">
    <part name="parameters" element="tns:getMyDepts" />
    </message>
    - <message name="getMyDeptsResponse">
    <part name="parameters" element="tns:getMyDeptsResponse" />
    </message>
    - <message name="addEmployeeToDept">
    <part name="parameters" element="tns:addEmployeeToDept" />
    </message>
    - <message name="addEmployeeToDeptResponse">
    <part name="parameters" element="tns:addEmployeeToDeptResponse" />
    </message>
    - <message name="getDeptInfo">
    <part name="parameters" element="tns:getDeptInfo" />
    </message>
    - <message name="getDeptInfoResponse">
    <part name="parameters" element="tns:getDeptInfoResponse" />
    </message>
    - <portType name="MyCompany">
    - <operation name="setMyDepts">
    <input message="tns:setMyDepts" />
    <output message="tns:setMyDeptsResponse" />
    </operation>
    - <operation name="getMyDepts">
    <input message="tns:getMyDepts" />
    <output message="tns:getMyDeptsResponse" />
    </operation>
    - <operation name="addEmployeeToDept">
    <input message="tns:addEmployeeToDept" />
    <output message="tns:addEmployeeToDeptResponse" />
    </operation>
    - <operation name="getDeptInfo">
    <input message="tns:getDeptInfo" />
    <output message="tns:getDeptInfoResponse" />
    </operation>
    </portType>
    - <binding name="MyCompanyPortBinding" type="tns:MyCompany">
    <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="" />
    - <operation name="setMyDepts">
    <soap:operation soapAction="" />
    - <input>
    <soap:body use="literal" />
    </input>
    - <output>
    <soap:body use="literal" />
    </output>
    </operation>
    - <operation name="getMyDepts">
    <soap:operation soapAction="" />
    - <input>
    <soap:body use="literal" />
    </input>
    - <output>
    <soap:body use="literal" />
    </output>
    </operation>
    - <operation name="addEmployeeToDept">
    <soap:operation soapAction="" />
    - <input>
    <soap:body use="literal" />
    </input>
    - <output>
    <soap:body use="literal" />
    </output>
    </operation>
    - <operation name="getDeptInfo">
    <soap:operation soapAction="" />
    - <input>
    <soap:body use="literal" />
    </input>
    - <output>
    <soap:body use="literal" />
    </output>
    </operation>
    </binding>
    - <service name="MyCompanyWS">
    - <port name="MyCompanyPort" binding="tns:MyCompanyPortBinding">
    <soap:address location="http://localhost:7101/WebService-Annotation-context-root/MyCompanyPort" />
    </port>
    </service>
    </definitions>
    Thanks in Advance.
    Bachan
    Edited by: Bachan on Sep 1, 2010 9:04 PM

    Thanks Sam,
    SOAP UI saved my life but that want last long.
    But still my issue is not resolved.
    I am using a plsql program to take the Values from SOAP envelop and pass it to web-service and get the responce.
    I am sure my approach is perfectly fine. because it is working fine with other examples, but mean while i have a WSDL link this is really big and my program is not working for this WSDL link.
    infact i am getting the output as the same XML of URL.
    Let me know if u can help me out.
    Thanks
    Bachan.

  • Exception while handling service request: org/apache/soap/Envelope

    Hi all,
    i´ve tried to run a message style webservice .
    Now i always get following Error: Exception while handling service request: org/apache/soap/Envelope
    Can anyone tell me what i should do?
    I use Bea 6.1 and Apache Soap 2.2
    I have deployed the Webservice and when i try to run the samples in apache all
    works fine.
    Thank you very much!!

    found the problem.
    I use apache soap with tomcat 5.5.9
    wrong: place the class file in a jar in the common/lib folder of tomcat
    wright: place the class file in the directory webapps/soap/web-inf/classes
    an other problem is when the method not exist

  • 11G - XDB Native Web Services - how to create a web service proxy

    Hi,
    I am working on XDB Native web Services (http://download.oracle.com/docs/cd/B28359_01/appdev.111/b28369/xdb_web_services.htm#CHDDBCHB). I want to create a proxy web service for orawsv service (http://server:port/orawsv?wsdl), which is protected by an user/password
    In Jdeveloper 10133:
    + copy orawsv wsdl (http://server:port/orawsv?wsdl) in local file
    + create a proxy web service form the local wsdl (from the wizard)
    + implement the client (http://www.oracle.com/technology/obe/11gr1_db/datamgmt/xmldb2_b/xmldb2_b.htm)
    ==> OK
    In Jdeveloper 11g
    + copy orawsv wsdl (http://server:port/orawsv?wsdl) in local file
    + create a proxy web service form the local wsdl (from the wizard)
    + how to implement the client : there is no method to set a password
    any ideas?
    Thanks for your help,
    Cyryl
    Edited by: cbalmati on Oct 21, 2008 6:26 AM

    I'm working on getting a proxy web service working in 11g and the contents of this thread is close to answering my question.
    The web service proxy is accessing a service that requires a SOAP Security header.
    In looking at the previous post, I thought that by using the BindingProvider API I could add the security settings. But when I invoke the proxy I consistently get the following error response from the (PeopleSoft) web service: "com.sun.xml.ws.client.ClientTransportException: request requires HTTP authentication: Unauthorized'
    In contrast to that error, when I use JDeveloper's HTTP Analyzer, I get a successful response from the web service. Below is what the raw HTTP looks like:
    POST https://isiswebdev.services.wisc.edu:7002/PSIGW/PeopleSoftServiceListeningConnector HTTP/1.1
    Content-Type: text/xml; charset=UTF-8
    Host: isiswebdev.services.wisc.edu:7002
    SOAPAction: "CI_U_FA_CSA_STDTA_CI_G.V2"
    Content-Length: 548
    X-HTTPAnalyzer-Rules: 1
    <env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:ns2="http://xmlns.oracle.com/Enterprise/Tools/schemas/M183895.V1">
    <env:Header>
    <ns1:Security>
    <ns1:UsernameToken>
    <ns1:Username>UserName</ns1:Username>
    <ns1:Password>XXXXXXX</ns1:Password>
    </ns1:UsernameToken>
    </ns1:Security>
    </env:Header>
    <env:Body>
    <ns2:Get__CompIntfc__U_FA_CSA_STDTA_CI>
    <ns2:EMPLID>012345678912</ns2:EMPLID>
    </ns2:Get__CompIntfc__U_FA_CSA_STDTA_CI>
    </env:Body>
    </env:Envelope>
    Here's the Java code that I'm using to try to make the same call:
    public void callIWebservice(String emplId){
    cSA_STDNT_DATA = new CSA_STDNT_DATA();
    CI_U_FA_CSA_STDTA_CI_PortType port = cSA_STDNT_DATA.getCI_U_FA_CSA_STDTA_CI_Port();
    Map<String, Object> requestContext = ((BindingProvider)port).getRequestContext();
    requestContext.put(BindingProvider.USERNAME_PROPERTY, "UserName");
    requestContext.put(BindingProvider.PASSWORD_PROPERTY,"XXXXXXX");
    GetCompIntfcUFACSASTDTACITypeShape CiType = new GetCompIntfcUFACSASTDTACITypeShape();
    EMPLIDTypeShape emplIDType = new EMPLIDTypeShape();
    emplIDType.setValue(emplId);
    CiType.setEMPLID(emplIDType);
    try {
    GetCompIntfcUFACSASTDTACIResponseTypeShape response = port.getDATA(CiType);
    System.out.println(response.getCUMGPA());
    } catch (M464939V1 e) {
    System.out.println(e.getFaultInfo());
    But, alas, I just get the ClientTransportException.
    Is the Bindingprovider interface the correct way to add the soap security headers? Or am I following the wrong path?
    Any help will be greatly appreciated.

  • PL/SQL web service - how to use XML schema to define inputs/outputs?

    Hello,
    let us say I want to publish a PL/SQL web service. The package spec that I want to expose is:
    CREATE OR REPLACE PACKAGE myWebService AS
      FUNCTION loadResults(
        username   IN VARCHAR2,
        password   IN VARCHAR2,
        resultData IN XMLType)
      RETURN XMLType;
    END;When I use JDeveloper's wizard to publish my PL/SQL web service, the resulting WSDL contains this:
    <schema
        xmlns="http://www.w3.org/2001/XMLSchema"
        xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xmlns:soap11-enc="http://schemas.xmlsoap.org/soap/encoding/"
        xmlns:tns="http://uk/co/weatherbys/aapws/AAPWS.wsdl/types/"
        targetNamespace="http://uk/co/weatherbys/aapws/AAPWS.wsdl/types/"
        elementFormDefault="qualified">
        <element name="loadresultsElement">
            <complexType>
                <sequence>
                    <element name="username" type="string" nillable="true"/>
                    <element name="password" type="string" nillable="true"/>
                    <element name="resultdata" nillable="true">
                        <complexType>
                           <sequence>
                                <any/>
                             </sequence>
                        </complexType>
                    </element>
                </sequence>
            </complexType>
        </element>
        <element name="loadresultsResponseElement">
            <complexType>
                <sequence>
                    <element name="result" nillable="true">
                       <complexType>
                            <sequence>
                                <any/>
                            </sequence>
                        </complexType>
                    </element>
                </sequence>
            </complexType>
        </element>
    </schema>It is specifying that anything at all can be passed in and out from the two XMLType arguments, which is fair enough: it has no way of knowing what I am expecting and what I shall return.
    My question is, how do I tell JDeveloper that actually I want either or both of those XMLTypes to conform to a particular XML schema?

    You cannot format the date as a string, unless you do the conversion on the PL-SQL side, before you use it in your WebService mapping. It should be handled as a string.
    The only way to convert the XML from SOAP, using this encoding, into literal XML is to apply XSLT to the payload. Not sure why you would like to do this, as the payload should be consumed by another SOAP-awared stack.
    Hope this helps,
    Eric

  • ABAP Web Services Exception Valorization in SOAP Fault Message

    Hi,
    I created a Custom Function Module in ABAP with a custom exception ( "Exception1) in exception list (including a short text description of the exception ("This is the first exception!!!")).
    I exposed it as web services by means of 'Web service ABAP creation wizard".
    I hard coded the raising of the exception in order to see the valorization of SOAP Fault Message.
    The problem is that the field "Text" in SOAP fault message is empty instead of "This is the first exception!!!".
    Can you help me?
    Thanks in advance
    Giuseppe
    <soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/">
         <soap-env:Body>
              <soap-env:Fault>
                   <faultcode>soap-env:Client</faultcode>
                   <faultstring xml:lang="it">Exception1</faultstring>
                   <detail>
                        <n0:Zprova.Exception xmlns:n0="urn:sap-com:document:sap:soap:functions:mc-style">
                             <Name>Exception1</Name>
                             <Text/>
                        </n0:Zprova.Exception>
                   </detail>
              </soap-env:Fault>
         </soap-env:Body>
    </soap-env:Envelope>

    Hi,
    in case you want some specific text,you can raise the exception  like this in your function module.
    MESSAGE I001(ZPLATINO)  RAISING EXCEPT1.
    message class: ZPLATINO
    exception        : EXCEPT1
    message no 001,
    message text : CHECK ERROR PUSHKAR1
    and your response will be like.:
    <soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/">
         <soap-env:Body>
              <soap-env:Fault>
                   <faultcode>soap-env:Client</faultcode>
                   <faultstring xml:lang="en">EXCEPT1</faultstring>
                   <detail>
                        <n0:Zpl.Exception xmlns:n0="urn:sap-com:document:sap:soap:functions:mc-style">
                             <Name>EXCEPT1</Name>
                             <Text>CHECK ERROR PUSHKAR1</Text>
                             <Message>
                                  <ID>ZPLATINO</ID>
                                  <Number>001</Number>
                             </Message>
                        </n0:Zpl.Exception>
                   </detail>
              </soap-env:Fault>
         </soap-env:Body>
    </soap-env:Envelope>
    I think this solves your problem.
    points..points..:)
    Message was edited by:
            pushkar anand

  • Web Service operation not in SOAP request

    Hi There,
    I have a problem with the SOAP receiver adapter.
    I have created an external definition and uploaded a wsdl file. Several messages have been created out of the file.
    In my mapping I fill the message structure from the wsdl file. When I send the message to the Web Service I get an error back.
    The reason for this error seam to be a missing tag under the SOAP:Body element. Because when I create a SOAP request with the XMLSPY, it looks like this:
    <SOAP:Body>
      <m:setVendor xmlns:m="http://..." ...>
        <ns8:v xmlns:ns8="http://...">
    But in the message from the XI adapter the <m:setVendor..> tag is missing:
    <SOAP:Body>
      <ns8:v xmlns:ns8="http://...">
    This m: tag seems to be the operation of the web service.
    Has anybody an Idea how to solve this?
    Is the error in the SOAP adapter or in the message definition?
    By the way, can I display the complete SOAP message that has been sent out from the adapter with any XI tool (including SOAP header)?
    BR,
    Jürgen

    Jurgen
    I have exactly the same problem in a RFC -> RFC Adapter -> XI -> SOAP Adapter -> Web Service scenario.
    What we see is that the external vendor wants the SOAP to be in "documet-literal wrapped" whereas XI is returning is as "document literal".
    **I don't want to change the original wsdl file because it was provided by our business partner and a modification could cause problems when release update.
    But I have build a workaround with an XSL stylesheet as a second mapping step in my Interface Mapping. The stylesheet adds the missing operation tag into the XML message.**
    Even in our case we dont want to change wsdl, the operation & soap body are going as two parts we want the soap body in operation,i think  this can be achieved by xsl stylesheet,Can u please brief us about xsl stylesheet as a second mapping step in interface maping.I dint work on xsl before......
    Advance thanx for ur help
    Sriram

  • Web Services - How to create a websevice in XI/PI

    Hi,
    I have zero knowledge on webservices. Can someone help me understand what a webservice is and give me a step by step guide on how to create a sender and receiver webservice.
    Thanks in advance.
    Cheers,
    S

    Hi
    Search on SDN, you will get blogs and document.
    WebService is an application on the Web/Internet. Wheneever Service is requested by the user, it provides the service ( Request/Response)
    look some blog Create Web Service
    Using the SOAP inbound channel of the Integration Engine
    Web Service Senario
    RFC -> XI -> WebService - A Complete Walkthrough (Part 1)
    Invoke WebServices in XI
    Invoke Webservices using SAPXI
    WebService Scenario
    SYNCHRONOUS SOAP TO JDBC - END TO END WALKTHROUGH
    https://www.sdn.sap.com/irj/sdn/weblogsblog=/pub/wlg/7729
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/d23cbe11-0d01-0010-5287-873a22024f79
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/5474f19e-0701-0010-4eaa-97c4f78dbf9b

  • Can universe connect to restful web service which is not soap based

    Can universe connect to restful webservice? I know it is allowed to connect to SOAP webservice. Currently is using WSDL1.1.
    How about restful web service which does not have any wsdl file?

    Hi,
    there is a chapter - Security Configuration at Message Level
    in XI config guide which specifies everything you need - this is what you need
    so I hope no further explanations are necessary
    Regards,
    Michal Krawczyk

  • Consume web service in ABAP with SOAP header

    I'm trying to call a SalesForce Web Service from ABAP.
    After the login I use the WS_HEADER to pass header information.
      TRY.
    Additional Header:
          CONCATENATE
          '<soap:Header>'
          '<s1:SessionHeader>'
          '<s1:sessionId>' login_output-result-session_id '</s1:sessionId>'
          '</s1:SessionHeader>'
          '</soap:Header>' INTO l_string.
    convert to xstring
          l_xstring = cl_proxy_service=>cstring2xstring( l_string ).
          ws_header ?= obj_add->get_protocol('IF_WSPROTOCOL_WS_HEADER').
          IF NOT l_string IS INITIAL.
    create iXML DOM document from XML xstring
            CALL FUNCTION 'SDIXML_XML_TO_DOM'
              EXPORTING
                xml           = l_xstring
              IMPORTING
                document      = xml_document
              EXCEPTIONS
                invalid_input = 1
                OTHERS        = 2.
            IF sy-subrc = 0 AND NOT xml_document IS INITIAL.
              xml_root = xml_document->get_root_element( ).
              xml_element ?= xml_root->get_first_child( ).
    add header element by element to SOAP header
              WHILE NOT xml_element IS INITIAL.
                name = xml_element->get_name( ).
                namespace = xml_element->get_namespace_uri( ).
                namespace = 'urn:partner.soap.sforce.com'."xml_element->get_namespace_uri( ).
                IF NOT xml_element IS INITIAL.
                ENDIF.
    get WS_HEADER protocol
                ws_header->set_request_header(
                name = name
                namespace = namespace
                dom = xml_element ).
                xml_element ?= xml_element->get_next( ).
              ENDWHILE.
            ENDIF.
          ENDIF.
        CATCH cx_ai_system_fault .
      ENDTRY.
    I get the following exception: CX_SXML_PARSE_ERROR
    I guess the error has to do with the wrong description of the additional header.
    In soapUI the header looks like that:
       <soapenv:Header>
          <urn:SessionHeader>
             <urn:sessionId>1234567890</urn:sessionId>
          </urn:SessionHeader>
       </soapenv:Header>
    Is there somebody who knows how I should "translate" this to ABAP?
    Thanks,
    Daniel

    Hi Jelena
    Thanks for your answer.
    I've already created the proxy.
    The question is how or where I get the correct format for the header of this string in ABAP:
    CONCATENATE
    '<soap:Header>'
    '<s1:SessionHeader>'
    '<s1:sessionId>' login_output-result-session_id '</s1:sessionId>'
    '</s1:SessionHeader>'
    '</soap:Header>' INTO l_string.
    This example is wrong. I get the following error: CX_SXML_PARSE_ERROR
    As I mentioned before in soapUI the header looks like that:
    <soapenv:Header>
    <urn:SessionHeader>
    <urn:sessionId>1234567890</urn:sessionId>
    </urn:SessionHeader>
    </soapenv:Header>
    Daniel

  • ABAP Web Service with XI and SOAP

    Hi everybody!
    What we are trying to implement is the following szenario:
    SAP ERP HCM
    SAP XI (Netweaver 2004s)
    Our customers shall call a Web Service on the HCM system over the XI system transmitting 2 parameters (IDs) and get back a xml document with a list of hr related information.
    This is how we started (or want to go on) with the outside-in method:
    1. set up data types and message interface in XI integration repository
    2. generate a proxy in HCM with the transaction SPROXY and implement the service
    3. set up a communication scenario in XI integration directory using the SOAP adapter
    But there are some questions left:
    - how many message interfaces must be set up for the described scenario?
    - is the SOAP-adapter the correct adapter for that scenario?
    - how do we send back the xml information list?
    - is synchronous communication correct?
    - how can we test that scenario?
    We are new to XI and SOA so we'd appreciate any help. thanks in advance!

    how many message interfaces must be set up for the described scenario?
    You would need two message interfaces. One for the outbound for the sender and one for the inbound for the receiver. There should be request and response message types for each message interface since this is a synchronous scenario.
    is the SOAP-adapter the correct adapter for that scenario?
    SOAP adapter is correct for the web service scenario
    how do we send back the xml information list?
    You will need to design the XML information list in the Integration Repository on the message interface.
    how can we test that scenario?
    You can use third party Soap UI Client such as SOAP UI Client or XML Spy to try calling the webservice.

  • Web service - eclipse - apache/tomcat - soap - java

    Hi!
    I want to develop a web service. I use eclipse as java ide, and apache as web server. I could not get the information how to develop a web service with my ide and web server. I want to use soap too.
    Anyone will you please help/instruct me to develop a web service.
    Thanks for all...

    bump
    Can any one help me here?
    I have an application that uses SOAP and JNLP. Clients with Java 1.4.2 everything works fine but under Java1.5 the SOAP calls take forever to complete (each is about 4 seconds and there are often a lot of SOAP calls)
    My webserver is Tomcat 5.5.12
    I'm not sure of my soap version, but i believe it is 2.3 (.1? how can i find out)
    I have Java 1.5 and 1.4 installed and Tomcat uses Java 1.5 - I compile my classes for Java 1.4 but I really want Java 5 to work.
    My soap services are deployed and correctly displayed with the SOAP admin page.
    What kind of java 5 soap incomptability might i have found here? can anyone help me.
    B.t.w. from my local computer this problem doesn't happen - Java 1.5 works correctly - it is only when it is on a different computer (even on the intranet) that i have problems.
    Any ideas
    Thanks
    Martin

  • Rich client & web services, how to avoid unnecessary bloat

    Hi!
    Im creating a rich client with java. From this rich client I need to consume web services. Now im wondering which web services framework to use in the client. It seems that almost all (axis, xfire, jax-ws) frameworks require 10+ dependency jars.
    This I dont like of course because the rich client is going to be distrubuted over network and I would like to keep it as slim as possible. 5-10 MB in dependencies is not ok when rest of the program is 100k...
    I guess that everything is going to be different in Mustang (it should include all the needed jars) but i need to support older versions for next x years.
    So if anyone knows any suitable solutions please post here. Thanks.

    The problem here is the SOAP engine running on Oracle9iAS 1.0.2.2 is a lower version than that running on Oracle9iAS 9.0.3/OC4J 9.0.3.
    To get them to interoperate (e.g. 1.0.2.2 calling 9.0.3), you would have to do the following:
    1. Build your Web service in OC4J 9.0.3/JDev 9.0.3
    2. Deploy to 9.0.3 environment
    3. Build a Web service client on the 1.0.2.2 environment, not using any 9.0.3 libraries (see below for a link to a paper to do this)
    Conversely if you wanted to call from a OC4J 9.0.3 Web service client to a Oracle9iAS 1.0.2.2 Web service, you would have to do the following:
    1. Build your Web service on 1.0.2.2 using 1.0.2.2 libraries
    2. Deploy this to a 1.0.2.2 environment
    3. Build a client to the 1.0.2.2 Web service using the 9.0.3 libraries
    The reason it likely is not working is that it looks like you are mixing two different generations of SOAP libraries.
    See the link below for how to build and consume Web services using Oracle9iAS 1.0.2.2:
    http://otn.oracle.com/tech/webservices/htdocs/soapr1/ExploreSOAP1022.html
    At the end of that paper is a link to another paper showing how to use JDeveloper 3.2 to build a Web service for 1.0.2.2 - it shows how to use its libraries versus the libraries that came with 9.0.3.
    Mike.

  • Web Service, HOW?

    I have 5 things:
    - A set of XML schemas that are used for messages that fly around on our JMS servers
    - An XMLBeans generated API for dealing with said schemas
    - A set of MDBs that use schemas and generated API to understand JMS message bodies
    - A stateless session bean with some biz logic that also uses the generated APIs.
    - A golden-WSDL that closely resembles the stateless session bean interface and uses <xsd:import> elements to reference the existing schemas. (An implementation that just called that SSB would be great.)
    Now I'd like to expose that SSB as a SOAP over HTTP web service - preferably using the already generated XML Bean APIs. I'd like to use the JAX-RPC SOAP processing, but plug-in our existing Java <-> XML marshaling code.
    The BEA manual "Programing Web Services for WebLogic Server" has only made it worse as it leaves the impression that the ONLY way to do WLS web services is via JWS/JSR-181 annotations. But it appears that I really want is to expose an EJB as endpoint as described by JSR 109/921.
    I'd be happy if I could figure out how to get the service endpoint to just pass the soap body as raw XML. Then I could call our existing xml to java marshaling code myself.
    We're running on WLS 9.2MP2 on top of Java5. We need the web-service to start a transaction, to bundle into an ear and be deployable to cluster.
    Any suggestions or pointers?
    Thanks,
    - Chris
    Edited by chuston at 10/11/2007 8:58 AM
    Edited by chuston at 10/11/2007 9:00 AM

    Can't you just use the SAAJ API that way you'll have controll as to how your SOAP message is constructed?
    gtata

  • OSB: how to remove soap envelope from the $body

    Hi,
    In Assign activity when i assign: xquF1:url-decode(fn-bea:serialize($body),"UTF-8") = variable1,i am getting:
    $variable1 =
    <soap-env:Body      xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/">
         <MESSAGE>
    <aa>12</aa>
    <bb>34</bb>
    </MESSAGE>
    </soap-env:Body>
    How should i remove 'soap-env:Body' from the above xml. I need only:
    $variable1 =
         <MESSAGE>
    <aa>12</aa>
    <bb>34</bb>
    </MESSAGE>
    Kindly advise how to acheive the same.
    Thanks in advance.
    Edited by: user9223904 on Apr 17, 2013 2:25 AM
    Edited by: user9223904 on Apr 17, 2013 2:26 AM

    just use $body/* and you will have what u wanted.

Maybe you are looking for

  • Itunes will not update

    I can't update any of my songs on my new ipod I could do it the first day but after that nothing would update i have tryed everything it says to do in the book and online but nothing works I have already reinstalled itunes and my ipod 5 or more times

  • Creating Links to Bookmarks in different document

    Hi, I am trying to figure out how I can embed a link in a pdf so that when I compile several pdfs into one (using Adobe Pro portfolios) I can link to a specific bookmark. My hunch is that this can be done with the Link tool using Actions but I am una

  • Sync Nokia 6263 - get T-Mobile 3G

    To sync your Nokia 6263 go here: http://discussions.europe.nokia.com/discussions/board/message?board.id=pcsuite&t hread.id=22468 and read the post by resuna (2nd from the bottom). It works like a charm. You can get to the MetaClasses.plist either by

  • Reference field in selection parameter in incoming payments.

    hi kings i want to add the tab for reference field in slection parameter in incoming payment after open items selection. Present selection prameters are document no, business are, due days, document date,INR gross amount, cash discount,cash. So i wan

  • Adobe Audition CS5.5 - Automation?

    Ok one more question! I'm have feeling in that version you can't automated faders & knobs & EQ & other stuff in multitrack session like it was in Audition 3, is it so?