Axis SOAP sender failed PI7.11

Send :
<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:Body>
          <m:add xmlns:m="http://DefaultNamespace" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
               <i1 xsi:type="xsd:int">1</i1>
               <i2 xsi:type="xsd:int">2</i2>
          </m:add>
     </SOAP-ENV:Body>
</SOAP-ENV:Envelope>
to   Axis SOAP
http://netwavetest:8080/axis/services/Calculator   
get
<?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:addResponse soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns1="http://DefaultNamespace">
               <addReturn xsi:type="xsd:int">3</addReturn>
          </ns1:addResponse>
     </soapenv:Body>
</soapenv:Envelope>
But send  to  XI
http://netwavetest:50000/XIAxisAdapter/MessageServlet?senderParty=&senderService=DEMO&receiverParty=&receiverService=&interface=add1&interfaceNamespace=http://soap/axis
get error in cc:
message not processed: com.sap.engine.interfaces.messaging.api.exception.MessagingException: Application:EXCEPTION_DURING_EXECUTE:
I tried Axis(http) and SOAP(http), none works.
I used XMLspy, and I did login  when I post SOAP to XI.
When I try this scenario in PI 7.0 system, I got the same error.
I have no idea now.
Thanks for your time.

It makes sense.
When I used Axis SOAP sender adapter,  got the first error.
When I used SOAP sender adapter, got the second error.
WSDL from PI ID.
<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions name="add1" targetNamespace="http://soap/axis" xmlns:p2="http://netwavetest:8080/axis/services/Calculator" xmlns:p1="http://soap/axis" xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
<wsdl:documentation/><wsp:UsingPolicy wsdl:required="true"/><wsp:Policy wsu:Id="OP_add1"/>
<wsdl:types><xsd:schema targetNamespace="http://netwavetest:8080/axis/services/Calculator" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://netwavetest:8080/axis/services/Calculator">
<xsd:element name="addRequest" type="addRequest" xmlns=""/>
<xsd:element name="addReturn" type="xsd:int"/></xsd:schema>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:complexType name="addRequest"><xsd:sequence>
<xsd:element name="i1" type="xsd:int"/><xsd:element name="i2" type="xsd:int"/></xsd:sequence></xsd:complexType></xsd:schema></wsdl:types>
<wsdl:message name="p2.addRequest"><wsdl:documentation/>
<wsdl:part name="addRequest" type="addRequest" xmlns=""/></wsdl:message>
<wsdl:message name="p2.addResponse"><wsdl:documentation/>
<wsdl:part name="addReturn" type="xs:int" xmlns:xs="http://www.w3.org/2001/XMLSchema"/></wsdl:message>
<wsdl:portType name="add1"><wsdl:documentation/><wsdl:operation name="add1">
<wsdl:documentation/><wsp:Policy><wsp:PolicyReference URI="#OP_add1"/></wsp:Policy>
<wsdl:input message="p1:p2.addRequest"/><wsdl:output message="p1:p2.addResponse"/>
</wsdl:operation></wsdl:portType><wsdl:binding name="add1Binding" type="p1:add1">
<wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/"/><wsdl:operation name="add1">
<wsdlsoap:operation soapAction="http://sap.com/xi/WebService/soap1.1" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/"/>
<wsdl:input><wsdlsoap:body use="literal" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/"/></wsdl:input>
<wsdl:output><wsdlsoap:body use="literal" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/"/></wsdl:output></wsdl:operation>
</wsdl:binding><wsdl:service name="XI_6ef9141ba9383daf91ba52b9fdfd85e9_Service"><wsdl:port name="HTTP_Port" binding="p1:add1Binding">
<wsdlsoap:address location="http://netwavetest:50000/XISOAPAdapter/MessageServlet?senderParty=&amp;senderService=DEMO&amp;receiverParty=&amp;receiverService=&amp;interface=add1&amp;interfaceNamespace=http%3A%2F%2Fsoap%2Faxis" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/"/></wsdl:port>
<wsdl:port name="HTTPS_Port" binding="p1:add1Binding">
<wsdlsoap:address location="https://netwavetest:50001/XISOAPAdapter/MessageServlet?senderParty=&amp;senderService=DEMO&amp;receiverParty=&amp;receiverService=&amp;interface=add1&amp;interfaceNamespace=http%3A%2F%2Fsoap%2Faxis" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/"/></wsdl:port></wsdl:service></wsdl:definitions>
And how to set  rpc-styled or  document-styled, in PI adapter or Axis runtime?

Similar Messages

  • Adapter module in SOAP sender Channel

    Hi,
    I need to call an adaptermodule to URLdecoding incoming SOAP messages.
    The adaptermodule i have developed to do the URLdecode works for other adapters but not for the SOAP sender adapter
    Saphelp says it is not possible to use adaptermodules on the SOAP sender adapter.
    [SOAP Adapter and plain HTTP |SOAP Adapter and plain HTTP ]
    But this above thread indicates that it can be done anyway.
    Have any of you succeded in using an adaptermodule for the SOAP sender adapter ? And what do i need to do ?
    Best Regards
          Jens

    Thank you. I hadø'nt looked at the axis SOAP.
    The sending system (MAPICS) can only sends http-post's with URLencoded xml to XI.
    I recieve the http post in the SOAP adapter (with &nosap=true) and i ment to decode the message in an adapter module.
    Can you help me with how to set up an Axis SOAP sender ? Do i need to choose Servlet axis or Task Axis when i create my Axis SOAP sender ?
    Best regards
       Jens

  • Use Moduls with SOAP Sender Adapter

    Hi Experts,
    I have a question regarding the use of modules in the soap sender adapter / communication channel. Is it correct that the use of modules in the soap sender adapter is not possible?
    the background of my question is that we use modules from SEEBURGER in our Communication channels for archiving incoming and outgoing documents. the use of modules in the soap receiver adapter is possible. why not in the soap sender???
    according to the sap help it is possible to use the axis framwork in the soap adapter. then it should be possible to use modules. Is that correct? I tested it but it is not working. If I send a soap message (with the soap reveicer adapter) to the axis soap sender adapter there occure internal server errors. it is only working if I write my own modules for the axis soap sender adapter? is it not possible to use external modules like in other channels (File/FTP, soap receiver etc.)???
    thanks and best regards!
    Christopher

    we have moduls from SEEBURGER. so I have to test it. but before I need a scenario with which I can test it.
    We have a customer who sends xml-files per soap to us. these files we receive succussfully with the soap sender adapter. now we want to use some modules. so we have to use the axis soap sender adapter. I tried to send an xml file with the soap receiver adapter to the axis soap sender adapter, but this was not working. http 500 internal server errors occurred. is it possible that this scenario (soap-to-axis-soap) is not working? need I a specific configuration for this?
    thanks and regards
    Christopher

  • Unable to open PWA in browser and MSP on application server in project server 2007. ERROR: Sending the Soap message failed or no recognizable response was received.

    Hi All,
    I am using project server 2007 and WSS 3.0. 
    I have been facing a strange issue for couple of days. I am unable to open PWA in browser and MS Project Pro on application server.
    Everything is correct whether it is URL or MS Project profile account on MSP.  This is strange because i can open same PWA/MSP from other computers (Database server / Client PCs) but not locally on server.
    When i try to connect to MSP on App server, i get the following errors in event viewer.
    Event Type: Error
    Event Source: MSSOAP
    Event ID: 16
    User: N/A
    Computer: APP-Server-Name
    Description:
    Soap error: Connection time out..
    Event Type: Error
    Event Source: MSSOAP
    Event Category: Client 
    Event ID: 16
    User: N/A
    Computer: APP-Server-Name
    Description:
    Soap error: An unanticipated error occurred during the processing of this request..
    Event Type: Error
    Event Source: MSSOAP
    Event Category: Client 
    Event ID: 16
    User: N/A
    Computer: APP-Server-Name
    Description: Soap error: Sending the Soap message failed or no recognizable response was received.
    Event Type: Error
    Event Source: MSSOAP
    Event Category: Client 
    Event ID: 16
    User: N/A
    Computer: APP-Server-Name
    Description:
    Soap error: Unspecified client error..
    One more issue i am facing and i guess that is related to above issue. The Issue is, when i am creating a new project, It's workspace gets created but doesn't get linked to the project and i can't link it manually because it already exists for the project.
    sandeep

    Hi Paul ,
    Thanks for reply. The project server URL was already added to the Trusted
    Sites/Local Intranet areas in IE. 
    sandeep

  • Javax.xml.soap.SOAPException: Message send failed: Connection timed out

    Hi,
    where can i adjust the timeout for:
    exception on JaxRpc invoke: HTTP transport error: javax.xml.soap.SOAPException: java.security.PrivilegedActionException: javax.xml.soap.SOAPException: Message send failed: Connection timed out: connect
    The webservice needs 5min to return a message....
    I found a duplicate of this on thread:
    error initiating a test instance
    But no answer
    Message was edited by:
    HEWizard

    I found http://download-uk.oracle.com/docs/cd/B31017_01/integrate.1013/b28981/events.htm#BABGGADB
    Setting Timeouts for Synchronous Processes
    For synchronous processes that connect to a remote database, you must increase the syncMaxWaitTime timeout property in the SOA_Oracle_Home\bpel\domains\default\config\domain.xml file:
    <property id="syncMaxWaitTime">
    <name>Delivery result receiver maximum wait time</name>
    <value>60000000</value>
    <comment>
    <![CDATA[The maximum time the process result receiver will wait for a
    result before returning.  Results from asynchronous BPEL processes are
    retrieved synchronously via a receiver that will wait for a result from the
    container.
            <p/>
            The default value is 60 seconds.]]>
    </comment>
    </property>
    But this changes nothing...
    Is this value ignored?

  • HTTP transport error: javax.xml.soap.SOAPException: java.security.PrivilegedActionException: javax.xml.soap.SOAPException: Message send failed: String index out of range: -7

    All -
    I'm new to consuming web services in JDeveloper. I'm using Oracle JDEV 10.1.3.3/OC4J.  I'm using this version since it is compatible with Oracle EBS 12.1.3.  My intent is to pull data from our third party recruitment app (Success Factors) and load that data into Oracle HRIS.  I'm already doing this through a .NET application.  I'm converting it to be a Java Concurrent Program in EBS.  The code listed below is a stub call to verify I'm on the right track. I created a JDeveloper Web Services proxy project.  I'm testing it locally on my windows desktop.  When I'm able to consume the service successfully, then I'll think about moving it to the EBS server.
    I'm getting the following error when I invoke the following service:
    HTTP transport error: javax.xml.soap.SOAPException: java.security.PrivilegedActionException: javax.xml.soap.SOAPException: Message send failed: String index out of range: -7
    End point is: https://api4.successfactors.com/sfapi/v1/soap?wsdl
    Any help/assistance would be much appreciated. 
    Below is my code and output of my test:
    package emsc.oracle.apps.emscper.sfapi.proxy;
    import HTTPClient.HTTPConnection;
    import emsc.oracle.apps.emscper.sfapi.proxy.types.sfobject_sfapi_successfactors_com.IsValidSession;
    import emsc.oracle.apps.emscper.sfapi.proxy.types.sfobject_sfapi_successfactors_com.IsValidSessionResponse;
    import emsc.oracle.apps.emscper.sfapi.proxy.types.sfobject_sfapi_successfactors_com.Login;
    import emsc.oracle.apps.emscper.sfapi.proxy.types.sfobject_sfapi_successfactors_com.LoginResponse;
    import emsc.oracle.apps.emscper.sfapi.proxy.types.sfobject_sfapi_successfactors_com.LoginResult;
    import emsc.oracle.apps.emscper.sfapi.proxy.types.sfobject_sfapi_successfactors_com.Logout;
    import emsc.oracle.apps.emscper.sfapi.proxy.types.sfobject_sfapi_successfactors_com.LogoutResponse;
    import emsc.oracle.apps.emscper.sfapi.proxy.types.sfobject_sfapi_successfactors_com.SFCredential;
    import emsc.oracle.apps.emscper.sfapi.proxy.types.sfobject_sfapi_successfactors_com.SFParameter;
    import emsc.oracle.apps.emscper.sfapi.proxy.types.sfobject_sfapi_successfactors_com.Error;
    import java.io.File;
    import javax.xml.rpc.ServiceFactory;
    import java.util.ArrayList;
    import java.util.List;
    import java.util.Date;
    import javax.xml.ws.BindingProvider;
    import javax.xml.soap.SOAPException;
    import java.util.Map;
    import oracle.security.ssl.OracleSSLCredential;
    public class SFAPITest {
        // Declare members:      
        private String companyId;
        private String userName;
        private String password;
        private String developerKey;
        private Date   effDt;
        private String greaterThanEffDt;
        private String lessThanEffDt;
        // Declare constants:      
        final static private String breakLine = "+---------------------------------------------------------------------------+";
        final static private String format    = "yyyy-mm-dd";      
        private enum ReqId {
            PrimaryReq(25),
            PrimaryReqCEO(26),
            EmCarePrimary(27),
            RTI(28),
            EmCareClinical(29);
            private int reqId; 
            private ReqId() {
            private ReqId(int value) {
                reqId = value;
            public int getReqId() {
                return reqId;
        // Getters and Setters:  
        protected String getCompanyId() {
           return this.companyId;
        protected void setCompanyId(String value) {
           this.companyId = value;                 
        protected String getUserName() {
           return this.userName;
        protected void setUserName(String value) {
           this.userName = value;                 
        protected String getPassword() {
           return this.password;
        protected void setPassword(String value) {
           this.password = value;                 
        protected String getDeveloperKey() {
           return this.developerKey;
        protected void setDeveloperKey(String value) {
           this.developerKey = value;                 
        protected Date getEffDt() {
            return this.effDt;
        protected void setEffDt(Date value) {
            this.effDt = value;                 
        protected String getGreaterThanEffDt() {
           return this.greaterThanEffDt;
        protected void setGreaterThanEffDt(String value) {
           this.greaterThanEffDt = value;                 
        protected String getLessThanEffDt() {
           return this.lessThanEffDt;
        protected void setLessThanEffDt(String value) {
           this.lessThanEffDt = value;                 
        public void runProgram()
            SFAPIService mySFAPIService;
            String CompletionText = "";
            String effDtStr2 = null;
        /* Code your program logic here.
        * Use getJDBCConnection method to get the connection object for any
        * JDBC operations.
        * Use CpContext provided commit,rollback methods to commit/rollback
        * data base transactions.
        * Don't forget to release the connection before returning from this
        * method.
        /* Call setCompletion method to set the request completion status and
        * completion text.
        * Status values are ReqCompletion.NORMAL,ReqCompletion.WARNING,
        * ReqCompletion.ERROR.
        * Use Completion text message of length 240 characters. If it is more
        * than 240 then full string will appear in log file and truncated 240
        * characters will be used as request completion text.
        try
            ServiceFactory factory = ServiceFactory.newInstance();
            mySFAPIService = (emsc.oracle.apps.emscper.sfapi.proxy.SFAPIService)factory.loadService(emsc.oracle.apps.emscper.sfapi.proxy.SFAPIService.class);      
            SFAPI api = mySFAPIService.getSFAPI();
           /// SFAPI api = new SFAPI();
            //Map<String, Object> requestContext = ((BindingProvider) api).getRequestContext();
            //requestContext.put(BindingProvider.SESSION_MAINTAIN_PROPERTY, true);
            System.out.println("ServiceName => " + mySFAPIService.getServiceName().toString());
            System.out.println("End Point   => " + mySFAPIService.getServiceName().toString());
            System.out.println(breakLine);
            // Authentication: Login to SFAPI:
            SFCredential credential = new SFCredential();
            // Fake credentials being passed in for this post:   
            credential.setCompanyId("XXX");
            credential.setUsername("XXX");
            credential.setPassword("XXX");
            credential.setDeveloperKey("XXX");
            HTTPConnection httpsConnection = null;       
            OracleSSLCredential _credential = new OracleSSLCredential();      
            _credential.setWallet("\\\\\\C:\\Program Files\\Java\\jdk1.6.0_33\\jre\\lib\\security", "ParkEstes3");
            /*System.setProperty("javax.net.ssl.trustStore","C:\\\\\OraHome_1\\jdev\\jdevbin\\jdk\\jre\\lib\\security\\keystore");
            System.setProperty("javax.net.ssl.trustStorePassword","changeit");  
            System.out.println(System.getProperty("javax.net.ssl.trustStore"));*/
            // SFParameter: Define a generic SFParameter List.  This is a necessary parameter
            // to invoking calls in SFAPI:      
             /*System.setProperty("javax.net.ssl.keyStore",
             "file:\\\C:\\jdk1.4.1\\jre\\lib\\security\\client.keystore");
             System.setProperty("javax.net.ssl.keyStorePassword","welcome");         */
            /*  System.setProperty("oracle.net.wallet_location",
                          "(SOURCE=(METHOD=file)(METHOD_DATA=(DIRECTORY=\\\C:\Users\dparrish\Oracle\WALLETS)))");  // (2)                     */
            File kstore = new File("C:\\OraHome_1\\jdev\\jdevbin\\jdk\\jre\\lib\\security\\jssecacerts");
            boolean exists = kstore.exists();
            if (!exists) {
                System.out.println("Keystore does not exist");
            else {
                System.out.println("Keystore does exist");
            System.setProperty("javax.net.ssl.trustStore", kstore.getAbsolutePath());
            System.setProperty("javax.net.ssl.trustStorePassword", "changeit");
            //System.setProperty("proxySet", "false");
            //System.setProperty("http.proxyHost", "127.0.0.1");
            //System.setProperty("http.proxyPort", "8080");
            System.out.println(kstore.getAbsolutePath());
            List<SFParameter> lst = new ArrayList<SFParameter>();
            SFParameter param = new SFParameter();
            param.setName("");
            param.setValue("");
            lst.add(param);      
            SFParameter[] sfParam = lst.toArray(new SFParameter[lst.size()]);
            Login login = new Login();
            try {
                login.setCredential(credential);
                System.out.println("1");
                login.setParam(sfParam);
                System.out.println("2");
                LoginResponse loginResponse = new  LoginResponse();
                LoginResult loginResult = new LoginResult();
                try {
                     loginResponse = api.login(login);               
                catch (Exception e ) {
                    System.out.println(e.getMessage());
                System.out.println("3");
                try {               
                     loginResult = loginResponse.getResult();
                catch (Exception e ) {
                    System.out.println(e.getMessage());
                System.out.println("4");
                IsValidSession vs = new IsValidSession();                  
                IsValidSessionResponse isValidSessionResponse = api.isValidSession(vs);
                System.out.println("5");
                if (isValidSessionResponse.isResult()) {
                     System.out.println("Session is valid");
                     System.out.println("Result => " + loginResult.getSessionId());
                     System.out.println(breakLine);              
                    Logout logout = new Logout();
                    LogoutResponse logoutResponse = api.logout(logout);
                    if (logoutResponse.isResult()) {
                         System.out.println("Logout of SFAPI Successful");
                    else {
                        System.out.println("Logout of SFAPI Unsuccessful");
                else {
                     System.out.println("Session is invalid");
                    List<Error> errors = new ArrayList<Error>();
                    for (int i = 0; i < loginResult.getError().length;  i++) {
                        errors.add(loginResult.getError()[i]);
                    for (int i = 0; i < errors.size(); i++) {
                         System.out.println("Error Indice   => " + i);
                         System.out.println("Error Code:    => " + errors.get(i).getErrorCode());
                         System.out.println("Error Message: => " + errors.get(i).getErrorMessage());
                         System.out.println(breakLine);                                                          
                    } // end for loop of SFObject errors
                } // end InvalidSession
            catch (Exception e)
                 System.out.println("Session Credential Exception");
                 System.out.println("Exception => " + e.getMessage());
                 System.out.println(breakLine);                   
        catch (Exception e)
            System.out.println("Parameter List Exception");
            System.out.println("Exception => " + e.getMessage());
            System.out.println(breakLine);
        }   // end runProgram
        // Constructor:
        public SFAPITest()  {
        } // end constructor
        public static void main (String args[]) {
            try
                SFAPITest test = new SFAPITest();        
                test.runProgram();
            catch (Exception e) {
                System.out.println("main exception => " + e.getMessage());
    } // SFAPITest
    Here is the output with trace:
    WARNING: Unable to connect to URL: https://api4.successfactors.com:443/sfapi/v1/soap due to java.security.PrivilegedActionException: javax.xml.soap.SOAPException: Message send failed: String index out of range: -7
    Session Credential Exception
    Exception => ; nested exception is:
        HTTP transport error: javax.xml.soap.SOAPException: java.security.PrivilegedActionException: javax.xml.soap.SOAPException: Message send failed: String index out of range: -7
    +---------------------------------------------------------------------------+
    Process exited with exit code 0.

    The other end is throwing back a programming error.
    That might be because you are sending incorrect data and the other end fails to validate it.
    You might be able to guess based on your C# code.  But, since you are using soap one generic solution is available to you.
    - Get an http proxy interceptor like wireshark.
    - Run it while your C# app runs, collect the http requests from that.
    - Run it while running your java code, collect the http requests from that.
    Compare the two.

  • Configuring the Sender Axis SOAP Adapter

    Hello,
    I am trying to configure Sender Axis SOAP Adapter using PI 7.0
    The regular inbound address for SOAP messages is: http://host:port/XISOAPAdapter/MessageServlet?channel=party:service:channel
    But the inbound address for AXIS SOAP messages is:
    http://host:port/XIAxisAdapter/MessageServlet?parameters
    parameters ::= token ( u2018&u2019 token )*
    token ::= name u2018=u2019 value
    name ::= fieldname
    value ::= fieldvalue
    fileldname ::= u2018senderPartyu2019 | u2018senderServiceu2019 | u2018receiverPartyu2019 | u2018receiverServiceu2019 |
    u2018interfaceu2019 | u2018interfaceNamespaceu2019 | u2018messageIdu2019 | u2018queueNameu2019
    fieldvalue ::= urlencoded value
    See this link: http://help.sap.com/saphelp_nw70/helpdata/en/45/a4f8bbdfdc0d36e10000000a114a6b/frameset.htm
    Can someone give me an example of such URL?
    Regards,
    Gigi.

    Hi,
    Re: SOAP (Axis) Adapter
    Thanks
    Vikranth

  • Sender Axis SOAP Adapter EOIO

    My PI Sender Axis SOAP Adapter is giving me the following error when I try and use an EOIO quality of service:
    The XI SequenceId must be uppercase and 1-16 characters long.; nested exception is:
    com.sap.engine.interfaces.messaging.api.exception.InvalidParamException: The XI SequenceId must be uppercase and 1-16 characters long.
    If I use EO then the adapter works fine. Does anyone know if EOIO is supported in the Sender Axis SOAP Adapter? I did notice when I select EOIO there is no text box for the Queue Name.

    Hi Krishneel,
    ExactlyOnceInOrder means that the constructed XI message has its QualityOfService value ExactlyOnceInOrder and it is processed synchronously to the persistence layer of the adapter engine and asynchronously to the target service in the order of persistence.
    To guarantee the exactly once delivery of a message, the client must supply a unique message ID for the message.
    More on this can be found in the SAP Note 1039369 (FAQ XI Axis Adapter)
    Also refer this link on basic info on Sender Axis SOAP Adapter.
    http://help.sap.com/saphelp_nw04/helpdata/en/69/a6fb3fea9df028e10000000a1550b0/frameset.htm
    rgds
    Ven

  • Erro javax.xml.soap.SOAPException: Message send failed: t4-2-dev-fmw01vm

    hi am having this error when i click the submite button,am in jdeveloper 11.1.1.6.0
    Messages for this page are listed below.
    Error     
    javax.xml.soap.SOAPException: Message send failed: t4-2-dev-fmw01vm
    Error     
    Message send failed: t4-2-dev-fmw01vm
    Error     
    t4-2-dev-fmw01vm
    <af:commandButton text="Submit" id="cb3"
                              action="#{pageFlowScope.InternalUserBean.onSaveRecord}">
            </af:commandButton>
        public void onSave(ActionEvent actionEvent) {
            ADFUtil.invokeEL("#{bindings.Commit.execute}");
            ADFUtil.invokeEL("#{bindings.start.execute}");
            System.out.println("Deleted");
    the log error is
    Caused by: javax.xml.soap.SOAPException: javax.xml.soap.SOAPException: Message send failed: t4-2-dev-fmw01vm
         at oracle.j2ee.ws.saaj.client.p2p.HttpSOAPConnection.call2(HttpSOAPConnection.java:231)
         at oracle.j2ee.ws.common.transport.HttpTransport.transmit(HttpTransport.java:75)
         at oracle.j2ee.ws.common.async.MessageSender.call(MessageSender.java:64)
         at oracle.j2ee.ws.common.async.Transmitter.transmitSync(Transmitter.java:134)
         at oracle.j2ee.ws.common.async.Transmitter.transmit(Transmitter.java:90)
         at oracle.j2ee.ws.common.async.RequestorImpl.transmit(RequestorImpl.java:273)
         at oracle.j2ee.ws.common.async.RequestorImpl.invoke(RequestorImpl.java:94)
         at oracle.j2ee.ws.client.jaxws.DispatchImpl.invoke(DispatchImpl.java:811)
         ... 74 more
    Caused by: javax.xml.soap.SOAPException: Message send failed: t4-2-dev-fmw01vm
         at oracle.j2ee.ws.saaj.client.p2p.HttpSOAPConnection.post2(HttpSOAPConnection.java:520)
         at oracle.j2ee.ws.saaj.client.p2p.HttpSOAPConnection$PrivilegedPost.run(HttpSOAPConnection.java:1264)
         at java.security.AccessController.doPrivileged(Native Method)
         at oracle.j2ee.ws.saaj.client.p2p.HttpSOAPConnection.call2(HttpSOAPConnection.java:229)
         ... 81 more
    Caused by: java.net.UnknownHostException: t4-2-dev-fmw01vm
         at java.net.Inet6AddressImpl.lookupAllHostAddr(Native Method)
         at java.net.InetAddress$1.lookupAllHostAddr(InetAddress.java:850)
         at java.net.InetAddress.getAddressFromNameService(InetAddress.java:1201)
         at java.net.InetAddress.getAllByName0(InetAddress.java:1154)
         at java.net.InetAddress.getAllByName(InetAddress.java:1084)
         at java.net.InetAddress.getAllByName(InetAddress.java:1020)
         at HTTPClient.HTTPConnection$11.run(HTTPConnection.java:3641)
         at java.security.AccessController.doPrivileged(Native Method)
         at HTTPClient.HTTPConnection.getSocket(HTTPConnection.java:3638)
         at HTTPClient.HTTPConnection.doConnect(HTTPConnection.java:4477)
         at HTTPClient.HTTPConnection.sendRequest(HTTPConnection.java:3409)
         at HTTPClient.HttpOutputStream.closeImpl(HttpOutputStream.java:461)
         at HTTPClient.HttpOutputStream.access$000(HttpOutputStream.java:99)
         at HTTPClient.HttpOutputStream$1.run(HttpOutputStream.java:417)
         at HTTPClient.HttpClientConfiguration.doAction(HttpClientConfiguration.java:698)
         at HTTPClient.HttpOutputStream.close(HttpOutputStream.java:415)
         at oracle.j2ee.ws.saaj.client.p2p.HttpSOAPConnection.sendMessage(HttpSOAPConnection.java:1062)
         at oracle.j2ee.ws.saaj.client.p2p.HttpSOAPConnection.post2(HttpSOAPConnection.java:495)
         ... 84 more
    <Utils> <buildFacesMessage> ADF: Adding the following JSF error message: javax.xml.soap.SOAPException: Message send failed: t4-2-dev-fmw01vm
    javax.xml.ws.WebServiceException: javax.xml.soap.SOAPException: javax.xml.soap.SOAPException: Message send failed: t4-2-dev-fmw01vm
         at oracle.j2ee.ws.client.jaxws.DispatchImpl.invoke(DispatchImpl.java:867)
         at oracle.j2ee.ws.client.jaxws.OracleDispatchImpl.synchronousInvocationWithRetry(OracleDispatchImpl.java:235)
         at oracle.j2ee.ws.client.jaxws.OracleDispatchImpl.invoke(OracleDispatchImpl.java:106)
         at oracle.adf.model.connection.webservice.impl.SaajInteractionImpl.execute(SaajInteractionImpl.java:81)
         at oracle.adfinternal.model.adapter.webservice.provider.soap.SOAPProvider.execute(SOAPProvider.java:327)
         at oracle.adfinternal.model.adapter.webservice.WSDataControl.invokeOperation(WSDataControl.java:259)
         at oracle.adf.model.bean.DCBeanDataControl.invokeMethod(DCBeanDataControl.java:432)
         at oracle.adf.model.binding.DCInvokeMethod.callMethod(DCInvokeMethod.java:261)
         at oracle.jbo.uicli.binding.JUCtrlActionBinding.doIt(JUCtrlActionBinding.java:1635)
         at oracle.adf.model.binding.DCDataControl.invokeOperation(DCDataControl.java:2150)
         at oracle.adf.model.bean.DCBeanDataControl.invokeOperation(DCBeanDataControl.java:469)
         at oracle.adf.model.adapter.AdapterDCService.invokeOperation(AdapterDCService.java:313)
         at oracle.jbo.uicli.binding.JUCtrlActionBinding.invoke(JUCtrlActionBinding.java:740)
         at oracle.adf.controller.v2.lifecycle.PageLifecycleImpl.executeEvent(PageLifecycleImpl.java:402)
         at oracle.adfinternal.view.faces.model.binding.FacesCtrlActionBinding._execute(FacesCtrlActionBinding.java:252)
         at oracle.adfinternal.view.faces.model.binding.FacesCtrlActionBinding.execute(FacesCtrlActionBinding.java:210)
         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:597)
         at com.sun.el.parser.AstValue.invoke(Unknown Source)
         at com.sun.el.MethodExpressionImpl.invoke(Unknown Source)
         at view.ADFUtil.invokeEL(ADFUtil.java:22)
         at view.ADFUtil.invokeEL(ADFUtil.java:14)
         at view.InternalBean.onSaveRecord(InternalBean.java:59)
         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:597)
         at com.sun.el.parser.AstValue.invoke(Unknown Source)
         at com.sun.el.MethodExpressionImpl.invoke(Unknown Source)
         at org.apache.myfaces.trinidad.component.MethodExpressionMethodBinding.invoke(MethodExpressionMethodBinding.java:46)
         at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102)
         at org.apache.myfaces.trinidad.component.UIXCommand.broadcast(UIXCommand.java:190)
         at oracle.adf.view.rich.component.fragment.UIXRegion.broadcast(UIXRegion.java:148)
         at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.broadcastEvents(LifecycleImpl.java:1018)
         at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executePhase(LifecycleImpl.java:386)
         at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:194)
         at javax.faces.webapp.FacesServlet.service(FacesServlet.java:265)
         at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
         at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
         at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:300)
         at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:205)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at oracle.adfinternal.view.faces.webapp.rich.RegistrationFilter.doFilter(RegistrationFilter.java:106)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:446)
         at oracle.adfinternal.view.faces.activedata.AdsFilter.doFilter(AdsFilter.java:60)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:446)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:271)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:177)
         at org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:119)
         at java.security.AccessController.doPrivileged(Native Method)
         at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:315)
         at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:442)
         at oracle.security.jps.ee.http.JpsAbsFilter.runJaasMode(JpsAbsFilter.java:103)
         at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:171)
         at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:71)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at oracle.dms.servlet.DMSServletFilter.doFilter(DMSServletFilter.java:139)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3715)
         at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3681)
         at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
         at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
         at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2277)
         at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2183)
         at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1454)
         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
         at weblogic.work.ExecuteThread.run(ExecuteThread.java:178)
    Caused by: javax.xml.soap.SOAPException: javax.xml.soap.SOAPException: Message send failed: t4-2-dev-fmw01vm
         at oracle.j2ee.ws.saaj.client.p2p.HttpSOAPConnection.call2(HttpSOAPConnection.java:231)
         at oracle.j2ee.ws.common.transport.HttpTransport.transmit(HttpTransport.java:75)
         at oracle.j2ee.ws.common.async.MessageSender.call(MessageSender.java:64)
         at oracle.j2ee.ws.common.async.Transmitter.transmitSync(Transmitter.java:134)
         at oracle.j2ee.ws.common.async.Transmitter.transmit(Transmitter.java:90)
         at oracle.j2ee.ws.common.async.RequestorImpl.transmit(RequestorImpl.java:273)
         at oracle.j2ee.ws.common.async.RequestorImpl.invoke(RequestorImpl.java:94)
         at oracle.j2ee.ws.client.jaxws.DispatchImpl.invoke(DispatchImpl.java:811)
         ... 74 more
    Caused by: javax.xml.soap.SOAPException: Message send failed: t4-2-dev-fmw01vm
         at oracle.j2ee.ws.saaj.client.p2p.HttpSOAPConnection.post2(HttpSOAPConnection.java:520)
         at oracle.j2ee.ws.saaj.client.p2p.HttpSOAPConnection$PrivilegedPost.run(HttpSOAPConnection.java:1264)
         at java.security.AccessController.doPrivileged(Native Method)
         at oracle.j2ee.ws.saaj.client.p2p.HttpSOAPConnection.call2(HttpSOAPConnection.java:229)
         ... 81 more
    Caused by: java.net.UnknownHostException: t4-2-dev-fmw01vm
         at java.net.Inet6AddressImpl.lookupAllHostAddr(Native Method)
         at java.net.InetAddress$1.lookupAllHostAddr(InetAddress.java:850)
         at java.net.InetAddress.getAddressFromNameService(InetAddress.java:1201)
         at java.net.InetAddress.getAllByName0(InetAddress.java:1154)
         at java.net.InetAddress.getAllByName(InetAddress.java:1084)
         at java.net.InetAddress.getAllByName(InetAddress.java:1020)
         at HTTPClient.HTTPConnection$11.run(HTTPConnection.java:3641)
         at java.security.AccessController.doPrivileged(Native Method)
         at HTTPClient.HTTPConnection.getSocket(HTTPConnection.java:3638)
         at HTTPClient.HTTPConnection.doConnect(HTTPConnection.java:4477)
         at HTTPClient.HTTPConnection.sendRequest(HTTPConnection.java:3409)
         at HTTPClient.HttpOutputStream.closeImpl(HttpOutputStream.java:461)
         at HTTPClient.HttpOutputStream.access$000(HttpOutputStream.java:99)
         at HTTPClient.HttpOutputStream$1.run(HttpOutputStream.java:417)
         at HTTPClient.HttpClientConfiguration.doAction(HttpClientConfiguration.java:698)
         at HTTPClient.HttpOutputStream.close(HttpOutputStream.java:415)
         at oracle.j2ee.ws.saaj.client.p2p.HttpSOAPConnection.sendMessage(HttpSOAPConnection.java:1062)
         at oracle.j2ee.ws.saaj.client.p2p.HttpSOAPConnection.post2(HttpSOAPConnection.java:495)
         ... 84 more
    the application is on the taskflowEdited by: adf009 on 2013/04/26 9:10 AM

    I found http://download-uk.oracle.com/docs/cd/B31017_01/integrate.1013/b28981/events.htm#BABGGADB
    Setting Timeouts for Synchronous Processes
    For synchronous processes that connect to a remote database, you must increase the syncMaxWaitTime timeout property in the SOA_Oracle_Home\bpel\domains\default\config\domain.xml file:
    <property id="syncMaxWaitTime">
    <name>Delivery result receiver maximum wait time</name>
    <value>60000000</value>
    <comment>
    <![CDATA[The maximum time the process result receiver will wait for a
    result before returning.  Results from asynchronous BPEL processes are
    retrieved synchronously via a receiver that will wait for a result from the
    container.
            <p/>
            The default value is 60 seconds.]]>
    </comment>
    </property>
    But this changes nothing...
    Is this value ignored?

  • Principal Propagation Using Sender SOAP adapter in PI7.1

    Hi,
    I am trying to configure principal propagation using SOAP sender adapter. In that, I am trying to generate the assertion ticket in SAP only but it is using PIAFUSER as the user that is being passed and not the user which we are using to logon.
    Please tell me how an assertion ticket can be generated in this case , and the User that is being used for logging on is propagated. Is there any other way in which SOAP adapter can be used to propagate principally.

    Hi,
      Have you come across this link?
    http://help.sap.com/saphelp_nwpi711/helpdata/en/48/ce95b718d3424be10000000a421937/content.htm
    Regards,
    Ravi

  • SOAP sender adapter and XI adapter reusablity

    Hi,
    We are having good amount of interfaces using SOAP sender and XI Adapters (WS to Proxy scenarios).
    My question is :
    we can make reuse of Sender SOAP and Rcvr XI adapters in all scenarios.
    If we reuse these adapters in all our interfaces what are the limitations and any problems we may face in future?
    Replies will be highly helpful.
    Thanks
    Kishore
    Edited by: kishore kumar on Jan 21, 2010 7:23 PM

    SOAP sender depends on the Sender Message Interface and Namespace (in versions lower than SAP PI7.1) so if your scenarios satisfy these parameters then you can (rather should) re-use the channels.
    Similarly for the PROXY receiver channel....if the proxy is being hosted on one particular receiver SAP ECC system then the details in all the channels that you create will be the same and wont be recommended....hence even this can be re-used.
    There is no issue in re-using the channels....just that you should closely monitor these channels to ensure that they do not stop/ fail causing all the involved interfaces to stuck.
    Regards,
    Abhishek.

  • SOAP Sender Adapter Not working

    We have the following Synchronous sceanrio: Third Party System <> PI <> SAP ECC
    The interface works well in our DEV and PreProd environments but has stopped working in our QA environment.
    The SOAP Sender Adapter is giving me the following error:
    failed to initialize: org.apache.axis.ConfigurationException:
    java.lang.ClassNotFoundException: ------------------------- Loader Info -------------------------
    ClassLoader name: library:com.sap.aii.af.axisproviderlib] Living status: alive Direct parent loaders:   system:Frame   library:com.sap.base.technology.facade   library:engine.j2ee14.facade] Resources:  
    /usr/sap/XQ1/DVEBMGS01/j2ee/cluster/bin/ext/com.sap.aii.af.axisproviderlib/lib/axis.jar  
    /usr/sap/XQ1/DVEBMGS01/j2ee/cluster/bin/ext/com.sap.aii.af.axisproviderlib/lib/commons-discovery-0.2.jar  
    /usr/sap/XQ1/DVEBMGS01/j2ee/cluster/bin/ext/com.sap.aii.af.axisproviderlib/lib/commons-logging-1.0.4.jar  
    /usr/sap/XQ1/DVEBMGS01/j2ee/cluster/bin/ext/com.sap.aii.af.axisproviderlib/lib/commons-net-1.0.0-dev.jar  
    /usr/sap/XQ1/DVEBMGS01/j2ee/cluster/bin/ext/com.sap.aii.af.axisproviderlib/lib/wsdl4j-1.5.1.jar  
    /usr/sap/XQ1/DVEBMGS01/j2ee/cluster/bin/ext/com.sap.aii.af.axisproviderlib/lib/xmlsec-1.4.0.jar  
    /usr/sap/XQ1/DVEBMGS01/j2ee/cluster/bin/ext/com.sap.aii.af.axisproviderlib/lib/wss4j-1.5.6.jar 
    /usr/sap/XQ1/DVEBMGS01/j2ee/cluster/bin/ext/com.sap.aii.af.axisproviderlib/lib/opensaml-1.0.1.jar  
    /usr/sap/XQ1/DVEBMGS01/j2ee/cluster/bin/ext/com.sap.aii.af.axisproviderlib/lib/xalan-2.6.0.jar
    Currently the Quality of Service for the communication channel is set to "Best Effort" because it is a Synchronous Interface. However if I change the Quality of Service to "Exactly Once" the message is received by PI without any problems. So the problem is specific to Synchronous.
    I tried to create a new communication channel and use that but that didnt help.
    We have checked on the server and all the above mentioned .jar files are all in place.
    I have compared the Processing Sequence and Module Configuration of the Module tab (for the communication channel) with the other environments and everything seems to be fine.
    Any help would be much appreciated.
    Thanks,
    Krishneel

    Hi Krishna,
    ClassLoader name: library:com.sap.aii.af.axisproviderlib] Living status: alive Direct parent loaders:   system:Frame   library:com.sap.base.technology.facade   library:engine.j2ee14.facade] Resources:  
    /usr/sap/XQ1/DVEBMGS01/j2ee/cluster/bin/ext/com.sap.aii.af.axisproviderlib/lib/axis.jar  
    /usr/sap/XQ1/DVEBMGS01/j2ee/cluster/bin/ext/com.sap.aii.af.axisproviderlib/lib/commons-discovery-0.2.jar  
    /usr/sap/XQ1/DVEBMGS01/j2ee/cluster/bin/ext/com.sap.aii.af.axisproviderlib/lib/commons-logging-1.0.4.jar  
    /usr/sap/XQ1/DVEBMGS01/j2ee/cluster/bin/ext/com.sap.aii.af.axisproviderlib/lib/commons-net-1.0.0-dev.jar  
    /usr/sap/XQ1/DVEBMGS01/j2ee/cluster/bin/ext/com.sap.aii.af.axisproviderlib/lib/wsdl4j-1.5.1.jar
    Have you deployed the following Jar.
    commons-discovery-0.2.jar
    ○       commons-logging-1.0.4.jar
    ○       commons-net-1.0.0-dev.jar
    ○       wsdl4j-1.5.1.jar
    Refer this
    http://help.sap.com/saphelp_nw04/helpdata/en/45/a4f8bbdfdc0d36e10000000a114a6b/content.htm
    Edited by: Debashish Roy on Jul 18, 2011 10:10 AM

  • Error using IDOCFlatToXmlConvertor in Axis-SOAP

    Dear Members,
    I am trying to execute the IDOCFlatToXmlConvertor module in SOAP-Axis adapter (sender) of SAP PI 7.11. Addition of modules is done as per guidelines of SAP Help and Axis_FAQ:
    AF_Adapters/axis/HandlerBean
    AF_Adapters/axis/AFAdapterBean
    SAP_XI_IDOC/IDOCFlatToXmlConvertor
    CallSapAdapter
    AF_Adapters/axis/AFAdapterBean
    AF_Adapters/axis/HandlerBean
    Corresponding module parameters (SAPRelease, TargetDestination, SourceJRA) are also mentioned correctly. However when I try to send a flat IDOC through the Axis channel it fails in the channel monitoring with below error:
    message not processed: java.lang.ClassCastException: class
    org.apache.axis.message.Text:library:com.sap.aii.af.axisproviderlib_at_com.sap.engine.boot.loader.ResourceMultiParentClassLoader_at_32e6e42e_at_alive incompatible with
    class
    org.apache.axis.message.SOAPBodyElement:library:com.sap.aii.af.axisproviderlib_at_com.sap.engine.boot.loader.ResourceMultiParentClassLoader_at_32e6e42e_at_alive
    I have done the below:
    1) Ensured that required components for Axis protocol are enabled. Normal SOAP message is processed by the Axis Channel
    2) Maintained all the parameters for IDOCFlatToXmlConvertor in NWA and also in the channel
    3) The scenario works perfectly fine when used a File_Sender_channel instead of SOAP_Sender_channel
    So my question now is, can the IDOCFlatToXmlConvertor module be used with SOAP-Axis protocol (theoritically it should be)? If yes, then where am I making the mistake? Is it because I am using SOAPUI tool for testing?
    Thanks,
    Abhishek.
    P.S. I have replaced the @ symbol with at as SDN does not allow me to post!

    Hi Experts,
    In my Receiver SOAP adapter module Tab.
    As my scenario is synchronous  and i required UsernameToken with PasswordDigest security i have added following parameter value in module.(as per SAP Note 1039369 FAQ XI Axis Adapter ).
    Processing Sequence.
    Module Key
    afreq
    xireq
    wssec
    trp
    xires
    afres
    Module configuration
    ModuleKey  ParameterName   parametervalue
    xireq           handler.type         java:com.sap.aii.axis.xi.XI30OutboundHandler
    wssec         action                   UsernameToken
    wssec        handler.type         java:com.sap.aii.adapter.axis.ra.handlers.security.WSDoAllSender
    wssec       passwordType     PasswordDigest
    wssec      pwd.password     ********************
    wssec      user                       XYZ
    trp            handler.type            java:com.sap.aii.adapter.axis.ra.transport.http.HTTPSender
    trp             module.pivot          true
    xires       handler.type           java:com.sap.aii.axis.xi.XI30OutboundHandler.
    Do we need to do any other configuartion apart from above in parameter value.
    While getting response from third party i getting error as WSDoAllReceiver: security processing failed (actions number mismatch)
    Do i need to add  parameter value for WSDoAllReceiver as well as  my scenario is synchronous.
    Please help me out on this as i am not able to proceeed further because of the above errro.
    Please advice.
    regards
    Anku Chopra

  • SSL / X.509 In SOAP Sender/Receiver Adapter

    Hi Friends,
    We have few third party Java based systems which need to integrate with SAP PI7.1
    For this we are using
    SOAP Sender from Third PartyTo PI
    SOAP Receiver From Pi To Third Party Systems                                 
    The Customer Wants to implement SSL.X>509 certificates for encryption and decryption. as one of the option.
    we are  Facing few issues like.
       I am assuming each of the source system webservice calls will have
    to use a username/password to authenticate with the PI system
    a.       Will this use 'basic authentication', ie., credentials sent over as
    part of the HTTP header field ?
       i.
    Assuming we use SSL for transport level security - this is still not secure as the credentials are not encrypted
    ii.      Is  there a way to send in encrypted credentials and for the PI layer to decrypt the same, validate and process the request ?
    b.      Should we consider using a single sign-on mechanism ?
    c         Should we consider using X.509 digital certificates ?
          i.      This would require that the X.509 certs are maintained in the Source & PI webserver Java key stores
    d.      Should we also consider digitally signing the payload ?
         i.      This  requires using an appropriate hashing algorithm such as SHA-1 or MD5
    SOAP Sender /receievr Adapter has few properties not specific to them.How to Acheive this.
    Regards
    Chandra Dasari

    Hi Chandra,
    You may try to implement this using the AXIS framework of the SOAP adapter. This provides functionality for handling of X.509 encryption and decryption.
    You can generate/get the digital certificate and use it for both transport level as well as message level security. You would not require any additional encoding apart from this.
    Coming to your queries:
    Q - I am assuming each of the source system web service calls will have to use a username/password to authenticate with the PI system
    A - If you are using a certificate, then they can call XI using this certificate. You can share your public certificate with each of the parties.
    Q. Will this use 'basic authentication', ie., credentials sent over as part of the HTTP header field?
    A - Depends...if you are using basic authentication, then it will not be via X.509. It will be the normal process. These two are two different things.
    Q. Assuming we use SSL for transport level security - this is still not secure as the credentials are not encrypted
    A - This problem is resolved if you are using digital certificates.
    Q. Is there a way to send in encrypted credentials and for the PI layer to decrypt the same, validate and process the request?
    A - Yes. It is possible. But then you will have to implement encryption decryption logic at both the ends separately if you are not using certificates.
    Q. Should we consider using a single sign-on mechanism?
    A - Is your third party part of your landscape? if not then you might want to check and confirm this approach with your security adviser.
    Q Should we consider using X.509 digital certificates?
    A - Yes...This would resolve most of your problems.
    Q. This would require that the X.509 certs are maintained in the Source & PI web server Java key stores
    A - Yes.
    Q. Should we also consider digitally signing the payload?
    A - If you require message level encryption along with transport layer.
    Q. This requires using an appropriate hashing algorithm such as SHA-1 or MD5. SOAP Sender /receiver Adapter has few properties not specific to them.How to achieve this.
    A - You can provide this option while generating the certificate itself.
    Please let me know if this helps.
    Cheers,
    Sarath.

  • XI acknowledgment from axis soap adapter

    We have implemented an integration from SAP ERP to an external system via XI. SAP sends a message to XI  via proxy which is then mapped to a web service call  to the external system via the axis soap adapter. If there is a problem the axis adapater sends back an acknowlodgement message with the soap error. This message is correctly interpreted by XI as en error acknowledgement. The acknowledgement message however fails in the routing as it is not able to find a receiver agreement for routing the message back. There is of course actually no valid recepient for this acknowledgement as the original message was created using an asynchronous proxy call. The problem is however that the original message is flagged as successful even though the acknowledgement contains an error. What we want to achieve is that the error in the acknowledgment causes the original message in XI to be flagged as failed, to allow error detection. Does anyone have any idea how to achive this ?
    Rgds
    Evind Langsaeter

    Hi
    We do not require any acknowledgements. But for the cases where the soap call is delivered, but returns a http response of 500 together with a complete soap envelope containing a soap fault, the Soap Axis Receiver Adapter is issuing an u201CApplicationErroru201D Acknowledgement Message (referring to the original request message) (even though it is not requested). This Acknowledgement Message is failing on the Integration Server with a configException u201CFailed to determine a receiver agreement for the given messageu201D. We have tried to create a receiver agreement and reciever channel with the given keys from the error message, but still getting the same result.
    Issue A: How to get this (non-requested) Acknowledge message to process without error.
    Issue B: How to get a proper u201Cerror-messageu201D telling that the original request message was not really delivered though (as the soap call gets a http response of 500).
    Rgds
    Eivind

Maybe you are looking for