Wsdl url of pi SOAP Sender (that is used by invoking soap client)

hi,
i have a scenario
nonSapAppl>SoapSenderAdapter>PI>InboundProxy>Ecc
i am using xmlspy or SoapUi tool as nonSapAppl for invoking the scenario for testing.
the soapUI tool needs the url of the wsdl.
for that, i logged on to ID, and opened the SenderAgreement and Menu -> DisplayWSDL, and there i found the wsdl url as:
http://pidevsrvr:50100/dir/wsdl?p=sa/bfcbca882eba3df39bebc4ff6014c336
by using this url in soapUi tool, i am able to invoke the scenario.
it seems the url is generated by the pi system, this url is made up some unique set of chars like bfcbca882eba3df39bebc4ff6014c336 at the end.
1. is this url fixed for this for this scenario.
2. currently we develeoped on pi dev server, if transport to qa or production, will the url except the hostname will remain exactly the same.
3. is there any advantage of using "publish in SR" option.
4. our nonSAP application guy is asking some readable url prefarably, like http://pidevsrvr:50100/dir/wsdl?p=sa/scenarioReplicateAddressData. is it possible to customise the url.
thanks,
Madhu_1980

I am trying to call PI web service for Oracle Procedure. I am able to test it from SOAP UI Client. But when calling from Oracle, exception is thrown.
Procedure -:
/* Formatted on 2014/06/16 20:38 (Formatter Plus v4.8.8) */
CREATE OR REPLACE PROCEDURE cdba.p_init_ws_transaction
AS
   v_soap_request_text   CLOB;
   v_request             UTL_HTTP.req;
   v_response            UTL_HTTP.resp;
   v_buffer              VARCHAR2 (32767);
   v_response_xml        CLOB;
   l_soap_env            XMLTYPE;
   l_soap_body           XMLTYPE;
   ls_ematn              VARCHAR2 (50);
   ls_test               VARCHAR2 (1000);
   s_namespace           VARCHAR2 (1000);
   l_namespace           VARCHAR2 (50);
   l_raw_data            RAW (512);
   l_clob_response       CLOB;
   l_buffer_size         NUMBER (10)      := 512;
   l_substring_msg       VARCHAR2 (512);
--   l_napaka_opis         VARCHAR2 (1000);
--   l_napaka_koda         VARCHAR2 (100);
--   l_tmp                 VARCHAR2 (100);
BEGIN
--   --nastavimo certifikat in geslo
--   UTL_HTTP.set_wallet (g_lokacija_certifikata, g_geslo);
   --nastavimo soap request:
   v_soap_request_text :=
      ' <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:amp="http://tsl/mm/100064/AMPLDetails">
   <soapenv:Header/>
   <soapenv:Body>
      <amp:MT_AMPLDetails_Request>
               <row>
  <BMATN>0008C0053</BMATN>
  </row>
      </amp:MT_AMPLDetails_Request>
   </soapenv:Body>
</soapenv:Envelope>';
   SELECT XMLTYPE (v_soap_request_text).EXTRACT ('//row/BMATN/text()',
                                                 s_namespace || l_namespace
                                                ).getstringval ()
     INTO ls_test
     FROM DUAL;
   DBMS_OUTPUT.put_line (ls_test);
   v_request :=
      UTL_HTTP.begin_request
         (url         => 'http://176.0.11.76:50000/XISOAPAdapter/MessageServlet?senderParty=&senderService=SI_OS_AMPLDetails&receiverParty=&receiverService=&interface=SI_OS_AMPLDetails&interfaceNamespace=http://tsl/mm/100065/AMPLDetails',
          method      => 'POST'
   --UTL_HTTP.set_header (v_request, 'User-Agent', 'Mozilla/4.0');
   --v_request.method := 'POST';
   UTL_HTTP.set_body_charset (v_request, 'UTF8');
   UTL_HTTP.set_header (r          => v_request,
                        NAME       => 'Content-Length',
                        VALUE      => DBMS_LOB.getlength (v_soap_request_text)
   UTL_HTTP.set_header (r          => v_request,
                        NAME       => 'SOAPAction',
                        VALUE      => 'http://sap.com/xi/WebService/soap1.1'
   UTL_HTTP.set_authentication (v_request, '157769', 'tatasap@89');
   UTL_HTTP.write_text (r => v_request, DATA => v_soap_request_text);
   <<request_loop>>
   FOR i IN 0 .. CEIL (LENGTH (v_soap_request_text) / l_buffer_size) - 1
   LOOP
      l_substring_msg :=
           SUBSTR (v_soap_request_text, i * l_buffer_size + 1, l_buffer_size);
      DBMS_OUTPUT.put_line (l_substring_msg);
      BEGIN
         l_raw_data := UTL_RAW.cast_to_raw (l_substring_msg);
         UTL_HTTP.write_raw (r => v_request, DATA => l_raw_data);
      EXCEPTION
         WHEN NO_DATA_FOUND
         THEN
            EXIT request_loop;
      END;
   END LOOP request_loop;
   v_response := UTL_HTTP.get_response (v_request);
   BEGIN
      --convert the response to a CLOB
      <<response_loop>>
      LOOP
         DBMS_OUTPUT.put_line ('1');
         UTL_HTTP.read_raw (v_response, l_raw_data, l_buffer_size);
         l_clob_response :=
                     l_clob_response || UTL_RAW.cast_to_varchar2 (l_raw_data);
         DBMS_OUTPUT.put_line (UTL_RAW.cast_to_varchar2 (l_raw_data));
      END LOOP response_loop;
   EXCEPTION
      WHEN UTL_HTTP.end_of_body
      THEN
         UTL_HTTP.end_response (v_response);
   END;
   DBMS_OUTPUT.put_line ('done');
   DBMS_OUTPUT.put_line ('done');
   s_namespace :=
      'xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema/" ';
   l_namespace := 'xmlns="http://tempuri.org/"';
--   SELECT XMLTYPE (l_clob_response).getstringval ()
--     INTO ls_test
--     FROM DUAL;
   SELECT XMLTYPE (l_clob_response).EXTRACT ('//record/EMATN/text()',
                                             s_namespace || l_namespace
                                            ).getstringval ()
     INTO ls_test
     FROM DUAL;
   DBMS_OUTPUT.put_line (ls_test);
EXCEPTION
   WHEN OTHERS
   THEN
      DBMS_OUTPUT.put_line ('exception block');
      DBMS_OUTPUT.put_line (DBMS_UTILITY.format_error_backtrace);
      UTL_HTTP.end_response (v_response);
      DBMS_OUTPUT.put_line (SQLERRM);
--      p_napaka := SQLERRM;
--      p_url_megapos := NULL;
END;                                              -- end p_init_ws_transaction
Output -:
0008C0053
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:amp="http://tsl/mm/100064/AMPLDetails">
   <soapenv:Header/>
   <soapenv:Body>
      <amp:MT_AMPLDetails_Request>
               <row>
  <BMATN>0008C0053</BMATN>
  </row>
      </amp:MT_AMPLDetails_Request>
   </soapenv:Body>
</soapenv:Envelope>
1
<?xml version='1.0'?>
<!-- see the documentation -->
<SOAP:Envelope xmlns:SOAP='http://schemas.xmlsoap.org/soap/envelope/'>
  <SOAP:Body>
    <SOAP:Fault>
      <faultcode>SOAP:Server</faultcode>
      <faultstring>Server Error</faultstring>
      <detail>
        <s:SystemError xmlns:s='http://sap.com/xi/WebService/xi2.0'>
          <context>XIAdapter</context>
          <code>ADAPTER.JAVA_EXCEPTION</code>
          <text><![CDATA[
java.lang.NullPointerException: while trying to invoke the method java.lang
1
.String.indexOf(int) of a null object loaded from local variable 'ctype'
  at com.sap.aii.af.sdk.xi.net.MIMEInputSource.decodeContentType(MIMEInputSource.java:456)
  at com.sap.aii.af.sdk.xi.net.MIMEInputSource.readBody(MIMEInputSource.java:351)
  at com.sap.aii.af.sdk.xi.net.MIMEServletInputSource.parse(MIMEServletInputSource.java:58)
  at com.sap.aii.adapter.soap.web.MessageServlet.doPost(MessageServlet.java:343)
  at javax.servlet.http.HttpServlet.service(HttpServlet.java:754)
  at javax.servlet.http.HttpServl
1
et.service(HttpServlet.java:847)
  at com.sap.engine.services.servlets_jsp.server.Invokable.invoke(Invokable.java:152)
  at com.sap.engine.services.servlets_jsp.server.Invokable.invoke(Invokable.java:38)
  at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:457)
  at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:210)
  at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:441)
  at
1
com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:430)
  at com.sap.engine.services.servlets_jsp.filters.DSRWebContainerFilter.process(DSRWebContainerFilter.java:38)
  at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
  at com.sap.engine.services.servlets_jsp.filters.ServletSelector.process(ServletSelector.java:81)
  at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
  at com.sap.engine.services
1
.servlets_jsp.filters.ApplicationSelector.process(ApplicationSelector.java:276)
  at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
  at com.sap.engine.services.httpserver.filters.WebContainerInvoker.process(WebContainerInvoker.java:81)
  at com.sap.engine.services.httpserver.chain.HostFilter.process(HostFilter.java:9)
  at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
  at com.sap.engine.services.httpserver.filters.ResponseLogWriter.
1
process(ResponseLogWriter.java:60)
  at com.sap.engine.services.httpserver.chain.HostFilter.process(HostFilter.java:9)
  at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
  at com.sap.engine.services.httpserver.filters.DefineHostFilter.process(DefineHostFilter.java:27)
  at com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)
  at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
  at com.sap.engine.services.
1
httpserver.filters.MonitoringFilter.process(MonitoringFilter.java:29)
  at com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)
  at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
  at com.sap.engine.services.httpserver.filters.SessionSizeFilter.process(SessionSizeFilter.java:26)
  at com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)
  at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractC
1
hain.java:78)
  at com.sap.engine.services.httpserver.filters.MemoryStatisticFilter.process(MemoryStatisticFilter.java:57)
  at com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)
  at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
  at com.sap.engine.services.httpserver.filters.DSRHttpFilter.process(DSRHttpFilter.java:43)
  at com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)
  at com.sap.engine.services.http
1
server.chain.AbstractChain.process(AbstractChain.java:78)
  at com.sap.engine.services.httpserver.server.Processor.chainedRequest(Processor.java:475)
  at com.sap.engine.services.httpserver.server.Processor$FCAProcessorThread.process(Processor.java:269)
  at com.sap.engine.services.httpserver.server.rcm.RequestProcessorThread.run(RequestProcessorThread.java:56)
  at com.sap.engine.core.thread.execution.Executable.run(Executable.java:122)
  at com.sap.engine.core.thread.execution.Executable.run(Executable.java:10
1
1)
  at com.sap.engine.core.thread.execution.CentralExecutor$SingleThread.run(CentralExecutor.java:328)
          ]]></text>
        </s:SystemError>
      </detail>
    </SOAP:Fault>
  </SOAP:Body>
</SOAP:Envelope>
1
done
done

Similar Messages

  • SOAP Sender with HTTP(with SSL)=HTTPS with Client Authentication config

    Hi All,
    I have a Web-service-XI-Proxy scenario where we use SOAP Sender Adapter with HTTPs.  Double authentication (client- server) sertificate shall be used.
    Testing simple HTTP and XI user name/password works fine.
    Now I installed requred sertificates in TrustedCA and ssl-provider in VIsualadmin.
    But i can't see how i can configure certificates in SOAP sender Adapter. I've just did SOAP receiver for another scenario and there I could give keystore entry.
    I also doesn't know how to disable asking for name/password.  I am using XI 7.0.
    Please advise.
    Thanks,
    Nataliya

    Hi Nataliya,
    Go to SOAP Adapter> Inbound Security Checks-> HTTP Security Level--> Here you can specify  option "HTTP with Client Authentication. 
    One more thing HTTP Security level option is always available in Sender Adapter.
    For more clarity about HTTPS find below link.
    http://help.sap.com/saphelp_nw04/helpdata/en/14/ef2940cbf2195de10000000a1550b0/content.htm
    To enable the TrustedCA in SOAP Sender adapter. Go SOAP Sender> Security Parameter> Security Profile--> Web Service
    security. Then go to sender agreement there you need to give key store entry.

  • What are the system ports that XI uses to invoke web services?

    Hi guys,
    Anyone knows what are the system ports that XI uses to invoke and to be invoked from web services?
    I think it uses the port of AFW but I don’t have sure…
    Thanks in advance,
    Ricardo.

    hi,
    if you want to invoke a WS on the XI use
    the j2ee port (5XX00)
    Regards,
    michal
    <a href="/people/michal.krawczyk2/blog/2005/06/28/xipi-faq-frequently-asked-questions"><b>XI / PI FAQ - Frequently Asked Questions</b></a>

  • Web Service Client Generation on 7.10 SP3 - No WSDL URL is specified....

    We have a mysterious problem here.
    In out ABAP system we had a WebService created. With "New - Web Service Client" we created a web service client on the java side for that one and we were able to invoke it.
    We had to recreate this Web service due to wrong naming conventions. And now the problem starts.
    In the Main service class we had before something generated by NWDS:
    private static java.net.URL SERVICES_SERVICE_WSDL_LOCATION = null;
    static {
        java.net.URL url = null;
        try {
              java.net.URL tmpUrl = Thread.currentThread().getContextClassLoader().getResource("wsdl/com/sap/document/sap/soap/functions/mc_style/sap/bc/srt/wsdl/bndg_001279D063121DECA58AC5F7200DC55D/wsdl11/allinone/ws_policy/document/rootwsdl_SERVICES.wsdl");
              url = new java.net.URL(tmpUrl.getProtocol(), tmpUrl.getHost(), tmpUrl.getPort(), tmpUrl.getFile());
        } catch (java.net.MalformedURLException e) {
          e.printStackTrace();
        SERVICES_SERVICE_WSDL_LOCATION = url;
    After the new creation with the new Web Service this static initializer is gone an we see:
    private final static java.net.URL SERVICE_WSDL_LOCATION = null;
    This code is ridiculous, to make something static final and set it to Null. And as expected at runtime it results in WebServioceException telling us:
    No WSDL URL is specified for service [class com.sap.document.sap.soap.functions.mc_style.Service] on service creation.
    Anyone knows what is going wrong here??
    Best regards,
    Frank

    Same problem here.
    From Netweaver dev studio, I'm generating a deployable proxy for a Session Bean that is supposed to access a webservice but I keep getting the exception:
    "Caused by: javax.xml.ws.WebServiceException: No WSDL URL is specified for service [class eu.socrades.sap.ServiceMonitorBeanTESTService] on service creation.
    at com.sap.engine.services.webservices.espbase.client.jaxws.core.SAPServiceDelegate.<init>(SAPServiceDelegate.java:108)
    at com.sap.engine.services.webservices.espbase.client.jaxws.cts.CTSProvider.createDelegate(CTSProvider.java:170)
    at com.sap.engine.services.webservices.espbase.client.jaxws.cts.CTSProvider.createServiceDelegate(CTSProvider.java:151)
    at javax.xml.ws.Service.<init>(Service.java:57)
    at eu.socrades.sap.ServiceMonitorBeanTESTService.<init>(ServiceMonitorBeanTESTService.java:14)"
    I'm injecting the reference to the service with:
    @WebServiceRef(wsdlLocation = "rootwsdl_ServiceMonitorBeanTESTService.wsdl")
    private ServiceMonitorBeanTESTService service;
    I tried changing the location to a URL (where the wsdl can be downloaded from) or to "META-INF/wsdl/eu/socrades/sap/rootwsdl_ServiceMonitorBeanTESTService/rootwsdl_ServiceMonitorBeanTESTService.wsdl" but that did not help.
    Any clue?
    Thanks a lot,
    Dom

  • Use of variable header XHeaderName1 in SOAP sender adapter

    Hi all,
    I have a doubt regarding the use of adapter-specific attributes in SOAP sender adapter. In specific:
    the SOAP client should be able to pass a variable with the SOAP request (XHeaderName1 header variable) and this should be available in mapping (Dynamic configuration)
    I've already checked the [help page|http://help.sap.com/saphelp_nw04/helpdata/en/fc/5ad93f130f9215e10000000a155106/frameset.htm] but it seems I'm doing something wrong.
    I tried with those settings in SOAP adapter configuration:
    Keep headers checked
    XHeaderName1 = Test
    I try to call the SOAP adapters in the following 2 ways, but none works (the value is not available in message mapping with Dynamic configuration)
    1. Pass "Test" value xxxx in SOAP Header as a tag
    <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
    xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema">
         <SOAP-ENV:Header>
              *<Test>xxxx</Test>*
         </SOAP-ENV:Header>
         <SOAP-ENV:Body>
         </SOAP-ENV:Body>
    </SOAP-ENV:Envelope>
    2. Pass "Test" value xxxx in SOAP URL
    http://host:50000/XISOAPAdapter/MessageServlet?channel=p:s:c&version=3.0&Sender.Service=...&Interface=...&Test=xxxx
    Could anyone give me a hint about how to pass those values in the SOAP call and eventually the correct config. of SOAP sender ?
    Thanks a lot,
    Manuel

    Hi Manuel,
    Could you give a bit more detail on how you handled the SOAP message yourself.
    I have a similar issue. I am consuming a non SAP Web Service which requires a non-standard token element to be passed back. I have created a an RFC sender to SOAP reciever scenario which works fine for the inital logon and returns the token it expects in the follow up messages.
    At present I'm at a loss so your help would be much appreciated. We have got round the immediate issue by creating and sending the SOAP message directly from SAP WAS.
    Could we use the XI Adapter and ABAP proxy in a similar way?
    Thanks,
    Tim J.

  • Remove XML Prefix in SOAP Sender Adapter

    Hi
    I am using a SOAP sender adapter and testing it from SOAP UI. The format that is generated from the web service is
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
       <soapenv:Body>
          <sap:SALES_ORDER xmlns:sap="http://XYZ.org/">
             <sap:HEADER>
                <sap:BATCH_ID>XYZ</sap:BATCH_ID>
                <sap:CREATE_DT>XYZ</sap:CREATE_DT>
    This format when processed in SOAP UI gave error which its not giving for other files. Clearly I need to remove this sap: tag, I can't use XML anonymizer as it is SOAP adapter and I can't select do not use soap env...Could anyone provide me Java/xslt code for the same..I tried all the codes on sdn but none of them worked.
    Regards,

    SImple Java mapping, that should help
    import java.io.InputStream;
    import java.io.OutputStream;
    import com.sap.aii.mapping.api.*;
    import org.w3c.dom.*;
    public class DeleteCDATA_DOM_mapping extends  AbstractTransformation  {
         public void traceXML(Node n,int i)
         {   AbstractTrace trace = getTrace();
              trace.addInfo(i+"$"+n.getNodeName());
              trace.addInfo(i+"$"+n.getNodeValue());
              trace.addInfo(i+"$"+n.getNodeType()+"");
         public void traceNL(NodeList nl)
              {       for (int i=0 ; i<nl.getLength();i++)
                        traceXML(nl.item(i),i);
         public void transform(TransformationInput in, TransformationOutput out)
                   throws StreamTransformationException {
                        AbstractTrace trace = getTrace();
                             try {
                                  InputStream is0=in.getInputPayload().getInputStream();
                                  StringBuffer out1 = new StringBuffer();
                                  byte[] b = new byte[4096];
                                  for (int n; (n = is0.read(b)) != -1;) {
                                       out1.append(new String(b, 0, n,"UTF-8"));
                                  String sss=out1.toString();
                                  sss=sss.replaceAll("<sap:", "<");
                                  sss=sss.replaceAll("</sap:", "<");
                                  OutputStream os = out.getOutputPayload().getOutputStream();
                                  os.write(sss.getBytes("UTF-8"));
                             } catch (Exception e) {
                                  throw new StreamTransformationException(
                                       "Exception in DeleteCDATA_DOM_mapping JAVA mapping ): "
                                            + e.getMessage());

  • 'Keep Header' Option in SOAP sender adapter not working

    Hi all
    I have exposed  a webservice using a SOAP sender adapter in XI. A SOAP client is sending request to this service.
    The SOAP request has some elements in the header like wssecurity and ws addressing tags.
    When I remove the header elements and send the request my scenario works as expected but when I include the header fields I get a time out in my soap client application and cannot see any message, any where on  XI. Can somebody help me understand why this is happening.
    Thanks
    Dilip

    Hi Stefan
    In my scenario it is ok if XI ignores the soap header tags it does not understand. I want the system to ignore the header tags and go ahead and process only the payload.
    But unfortunately I keep getting a time out whenever I send a request with the header tags. When I remove the header I can sucessfully post documents.
    I tried increased the time out to 5 min but still continue to get the problem.  So am sure the problem is not exactly related to timeout, but due to the header tags.
    What do you suggest?
    Regards
    Dilip

  • How to export data to .csv and send that file to folder using sql commands?

    Really hoping someone can provide some code sample or point me in the right direction (with examples using sql).
    I am using oracle 11g with plsql developer. My requirement is that the data retrieval should be automatic. That means when query a data in oracle table , the data should be convert into .csv file and then it should send that to some specific folder.
    Example: Assume that student_sub1 table have all students subject1 data.when i write a query like select * from student_sub1 where student=1, the student1 data should convert into .csv file and then the .csv file should go to student1 folder.
    Hence I am requesting you to suggest me how write a sql code to convert the data into .csv file and to create a folder to send that file using oracle.
    Your inputs helps me alot.
    Thanks in advance!!!!
    Waiting for your replies.... Cheers

    981145 wrote:
    Really hoping someone can provide some code sample or point me in the right direction (with examples using sql).
    I am using oracle 11g with plsql developer. My requirement is that the data retrieval should be automatic. That means when query a data in oracle table , the data should be convert into .csv file and then it should send that to some specific folder.
    Example: Assume that student_sub1 table have all students subject1 data.when i write a query like select * from student_sub1 where student=1, the student1 data should convert into .csv file and then the .csv file should go to student1 folder.
    Hence I am requesting you to suggest me how write a sql code to convert the data into .csv file and to create a folder to send that file using oracle.
    Your inputs helps me alot.
    Thanks in advance!!!!
    Waiting for your replies.... CheersSET COLSEP ,
    spool student1.csv
    select * from student_sub1 where student=1;
    spool off
    How do I ask a question on the forums?
    SQL and PL/SQL FAQ
    Handle:     981145
    Status Level:     Newbie
    Registered:     Jan 10, 2013
    Total Posts:     25
    Total Questions:     10 (8 unresolved)
    I extend my condolences to you since you rarely get answers to your questions here.

  • WSDL url for sender and receiver SOAP adapter

    Dear Experts,
    I am working on SOAP --> SAP PI --> SAP ECC synchronous scenario. That means I have to create 2 Cc for SOAP i.e. Sender as well as Receiver adapter. I am responsible for creating the Request as well as Response structure in SAP PI. The sender application team is dependent on me to get the WSDL file.
    Please provide the suggestions on the below.
    Sender SOAP adapter.
    1. I will create the WSDL from Sender Aggreement. How to get the url and what is the navigation step? Should I provide the    same url to sender application team to call the service.
    Receiver SOAP adapter:
    2. In the receiver SOAP adapter , Should I have to get the web service parameter of the sender application. As mentioned , I am creating the response structure as well. That means I can not import the WSDL from the sender application. How to get target url in the receiver SOAP Cc.
    I refered to the forum SOAP SENDER - test in soapui but its not clear.
    Regards
    Alice Rebecca
    Edited by: Alice@xi on Dec 20, 2011 5:48 PM

    Dear Bhaskar,
    For synchronous scenario
                                                                Request
    MS Application (SOAP)<--> SAP-PI <--
    > SAP ECC.
                                                                                    Response
    I am creating the Request as well as Response structure in SAP-PI and its agrreement for both
    the ways.
    So for the MS appl team, I will give the WSDL url from the sender agreement to make the request to SAP-ECC.
    Now for receiving the response from SAP ECC, from where I should find the value to enter in the target url of SOAP
    receiver channel.
    1.Should I take the target url value from the MS Application team?
    2.How to know whether  the MS Application or SAP ECC is hosting the web service?
    Regards
    Alice

  • Sender SOAP Adaptor - how to use an imported WSDL file

    I have to implement an inbound soap interface between my client and its external customer.This interface is in place with the legacy system,which has a webservice that the external customer invokes to send us data.
    Now the problem im facing is, the external customer is not willing to change anything on their end (like using our new webservice) except the connection URL,user name and password.(which makes sense too)
    I have the WSDL which is currently used imported in XI but has all different namespaces,SOAP address location etc and if I use the messages in the WSDL as it is as my source then its failing in my message mapping.I cannot create the same schema (data type and message type) because the current WSDL root element and some other elements start with a _
    Thanks in advance for advices on how to go about it.
    Mat

    Hi Joseph,
    I've had problems importing and using certain WSDL's too, and needed to create my own datatypes and service interfaces to circumvent the problem, using my own namespaces. In order not to have any problems with the namespaces used by the sender, I used the anonymizer bean in the soap adapter module.
    I didn't understand what you meant by elements starting with 'a_'. Is the sender using different element names in the WSDL than in the XML sent ? Perhaps you can show us the WSDL and an incoming test message ?
    kr,
    Peter Glas

  • PI 7.1 URL for SOAP Sender incorrect

    Hello experts,
    I have a SOAP sender agreement and generated the WSDL from the "Display WSDL..." option on ID, now the problem is that the soap address tags for HTTP_Port and HTTPS_Port are being created with the hostname of my PI server without domain, but all other url's in the wsdl file and including the WSDL URL of the wsdl file have the correct server name and domain, so when somebody gets the wsdl file from the file location and upload it to even Eclipse or just consume it from any other composite cannot reach the service exposed in PI, so I was wondering if any of you experts can help me with where can I find the parameters that Integration Directory use to create the soap address urls fro HTTP and HTTPS automatically, I've checked all the exchange profile and all the reference to server have the domain, I'm not a basis consultant and our basis team cannot find the problem, if anyone can help me with where can I find these parameters would be really appreciated, thanks in advance for your answers.
    Rergards,
    Julio

    HI JULIO,
    SOAP sender agreement and generated the WSDL from the "Display WSDL..." option on ID
    Q. HOW TO CHECK THE JTTP SENDER SIDE URL........WE HAVE ONE OPTION IN ID.....CHECK THE BELOW PROCESS FOR REF.....
    ID-->TOOLS>DEFINE WEB DERVER->CONTINUE->PROPOS URL (CLICK)>CONTUNUE-->SELECT THE INTERFACE
    NAME  (NAME NAME SPACE SOFTWARE COMPONENT NAME)---->CONTINUE --->(THEN SERVICE , INTERFACE
    NAME ,INTERFACE NAME SPACE)-->CONTINUE->OVERVIEW
    THIS IS THE PROCESS TO GET THE SENDER SIDER URL
    REGARDS,
    KESAVA

  • SOAP Sender URL for Default XI parameters

    Hi,
    In my scenario i want to use same SOAP sender communication channel for many webservices.So i selected USE QUERY STRING OPTION . But i am not sure about the parameters in URL. I referred SOAP Adapter how to guide. it was helpful to some extent but would be grt if u guyz confirm the URLfor sending the different default XI Interface parameters  .https://server:port/XISOAPAdapter/MessageServlet?channel=:<sender service>r:<sender comm channel>&version=3.0&Interface=<????>
    Basically i do not know what shud be given for interface name
    Regards
    Vish

    Hi Viswanath -
    You're on the right track for your purpose of using one channel and dynamically setting the interface name.  The SOAP FAQ Note 856597 spells it out well:
               "Q: Can I set the interface name dynamically from the client?
                Yes. You can overwrite these XI parameters from the client. To
                activate this overwriting mode, you need to turn on option "Use
                Encoded Header" and "Use Query String" in the channel. Then your
                client can append the interface name using parameter Interface.
                For example, interface namespace http://sap.com/test and
                interface Test can be represented by the url-encoded form of
                http://sap.com/test^Test as in
                #&version=3.0&Interface=http%3A%2F%2Fsap.com%2Ftest%5ETest"
    I see you already have some of this.  Don't forget to check both the "Use Encoded Header" as well as the "Use Query String" option.
    <i>>>>>In that case whatz the relevance of namespace in the URL. You mean we can ignore that .Pls advice</i>
    When you dynamically set the interface name, yes, you need both the interface name and the namespace.  All this information (including the namespace) is needed for the receiver determination step once it reaches XI.
    If you're having trouble with the URL, generate a WSDL using the "Define Web Service" option in the Int. Directory with the relevant interface information.
    Jin

  • SOAP Sender to RFC Scenario WSDL File

    Hi,
    I am working on SOAP -> PI -> RFC Scenario. I generated WSDL from sender agreement and gave to the client that can consumed by the third party system. But client is not ready to consume the WSDL. He provided WSDL and asking me to use that. Could you please suggest whether WSDL given by the client can be used in SOAP -> PI -> RFC Scenario. If it is possible, could you please provide steps how it can be done?
    Thank you.
    Regards,
    Cdr.

    Thank you Hareesh & Divya,
    When we generate WSDL from PI, it gives soap action and soap address location based on the interface we use for SOAP -> PI -> RFC.
    When we import WSDL given by the client as external definition, we get messages(Structures). But where do we pass the soap action or address location. I do not see any option in the soap sender communication channel. I am not visualize the link.
    Can somebody share their knowledge if they have done in this way.
    Thank you.
    Regards,
    Cdr.

  • SOAP Sender Url

    Hi
    I have developed an interface SOAP to Proxy, and created a web service based on the sender agreement in 7.1 PI
    When I try to test the web service by using the XML spy I receive the following error
    Http Error: Could not post the file
    http://nent20:50000/XISOAPAdapter/MessageServlet?senderParty=&senderService=ESO&receiverParty=&receiverService=CWDCLNT200&interface=SI_ClaimStatus_ISO_Out&interfaceNamespace=http://gcmgrp.com/Claims_Management(CM)_Rel2.0" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"/>
    </wsdl:port>
    Please let me know how can get this resolve
    Thanks a lot
    RP

    Hi,
    I have worked on the same scenario.
    when you create WSDL file, dont use the default URL option, and specify the URL in Following format.
    http://domain name:portname/XISOAPAdapter/MessageServlet?channel=Party:Business system:CC_SOAPSender_Test1
    if party is not available then URL format is
    http://domain name:portname/XISOAPAdapter/MessageServlet?channel=:Business system:CC_SOAPSender_Test1
    In created WSDL file, SOAP:ADDRESS tag will be like
    http://domain name:portname/XISOAPAdapter/MessageServlet?channel=party:Business system:CC_SOAPSender_Test1&amp;version=3.0&amp;Sender.Service=Business system&amp;Interface=urn%3ATest.com%3AWeb_Service_test%5EOutbound_Interface name
    Dont change this Tag content..
    Use the XMLSPY web client Tool for sending the SOAP Request message.
    Please make sure the following:-
    When you send the SOAP request message from XMLSPY, it will ask the Username/Password. UserID mush have assigned the role SAP_XI_APPL_SERV_USER or SAP_XI_IS_SERV_USER.
    Regards
    Jagesh

  • URL for SOAP sender in case of web dispatcher

    Hello,
    I have a scenario SOAP-->XI -->RFC synchronous.
    The soap request coming to XI is HTTPS without client authentication.
    The URL is:
    https://sapxiq:50101/XISOAPAdapter/MessageServlet?channel=:Srv_Web:Srv_Web_Soap_Server&version=3.0&Sender.Service=Srv_Web&Interface=http%3A%2F%2Fabc.com%2Fxi%2FeBillViewer%5Eos_getDocumentRequest
    We have installed web dispatcher for load balancing.
    Do I need to change the URL to replace web dispatcher host and port?
    What is the additional setting need to be done in the web dispatcher profile?
    Do I need to add icm/server_port_1       = PROT=ROUTER,PORT=443 in profile?
    Thanks in advance,
    Beena.

    Hi Beena
    Just refer SAP note 538405
    http://help.sap.com/saphelp_47x200/helpdata/en/42/5cfd3b0e59774ee10000000a114084/frameset.htm
    http://mysapinkpot.blogspot.com/2007/11/sap-web-dispatcher.html
    Re: Web Dispatcher
    I hope this solved your query.
    Regards
    Abhishek

Maybe you are looking for

  • How do I connect multiple displays to a Lenovo 405

    how do I connect multiple displays to a Lenovo 405 running windows 7?  I tried a video card but the built in amd video port would not function with the video card plugged in. Moderator Note; subject edit, post moved to here

  • Root object not apparing in genil model browser

    hi experts, i am trying to create one new genil model. i followed below steps to create it. 1. create one new component, component set and assinged the component to component set. 2. created one new z class with CL_CRM_GENIL_ABSTR_COMPONENT as super

  • Dual Control for GL postings

    Hello My client, a bank, wants to activate Dual control for GL postings (so not only dual control for changing vendor or customer or bank or GL master data using sensitive fields in customizing). How can I realize this requirement? Regards Arjan Dual

  • How to get "Executable java file"?

    Hi, I wanted to get the .class file of my java programme for execution. i.e say "c:\java Abc ", I wanted to get "Abc" so that I can execute my file in my GUI like "java Abc". Here is what I am doing File file; String command = "java"; Process p; Stri

  • Error when trying to process a dimension

    When I try to add some members in the dimension, it says Student_account(name of dimension)'s member OEM has a invalid hierarchy parent "confg". Please advise. thanks.