Java Proxy as Sender in PI 7.1

Hello everybody,
I would like to build a Java Proxy as a sender in PI 7.1. To be more precise, I would like to implement an asynchronous distribution scenario from MDM to PI. I understand the process of deploying and calling a receiver Java Proxy, but currently I don't know how to do the sender proxy. I can import the PI WSDLs, but I only get methods with return parameter void, taking the PI message type as input.
     public  void modifyRecordOutA(mdm.masterdatareplication.ModifyRecordRequest modifyRecordRequest) { }
So far so good, but somehow I have to send the data to PI, right? Could anybody tell me how to do this? Is there any documentation available that does not refer to older versions of the NWDS?
Thanks in advance,
Jörg
P.D.: Hints referring to attach pictures to the request would also be welcome, if there is something special to be considered.

Hi,
You can have 2 types of Java proxies viz. client(putting data into xi pipeline) & server (xi pipeline sends request to these proxies.)
From system point of view, the requirements vary in case of these two. for server proxies you can have a webas java business system and associated technical system in sld.in case of client proxies, refer SAP note #809420.
But for a Java proxy, I would need a separate Java server(?) to run the application on, is this correct?
You do not need a separate Java server. The basic difference between ABAP proxies and Java proxies is ABAP proxies reside on the perticular application system(CRM or R/3) but java proxies reside on SAP Web AS J2EE stack of your XI server.
Just search SDN pointers on Java proxy developement and you will get good pointers. There is one How-to guide on service marketplace by the name "HowToWorkWithJavaProxies.pdf".
Regarding your dev environment, you can always make use of NWDS, you need to be very much familier with EJB concepts and deployment. Check help.sap.com for more details.
few links for java proxies
/people/rashmi.ramalingam2/blog/2005/06/25/an-illustration-of-java-server-proxy
/people/prasad.ulagappan2/blog/2005/06/27/asynchronous-inbound-java-proxy
Learning Java proxies - landscape question
Check these links also,
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/a068cf2f-0401-0010-2aa9-f5ae4b2096f9
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/f272165e-0401-0010-b4a1-e7eb8903501d
Rgds
joel
Edited by: joel trinidade on Feb 18, 2009 3:06 PM

Similar Messages

  • Java proxy to send binary data

    Hi guys,
    I needed a small clarification.
    I'm using java proxy sender and file receiver in a scenario. I want to pick up binary files (i.e. the file could be of any format text,zip,pdf, image etc) using jakarta commons api to connect to ftp and then call the proxy to send this file data via proxy.
    I'm not clear on how this requirement can be achieved or it can be achieved or not.

    Hi Stefan,
    I'm referring to the comments given by Michal in the below blog.
    [How to send any data (even binary) through XI, without using the Integration Repository|How to send any data (even binary) through XI, without using the Integration Repository]

  • Help - how to create java proxy (sender) in NWDS 7.1

    Hi,
    I am trying to develop a java proxy as sender to send message from WAS to PI.
    I am using NWDS 7.1. Let me explain what I have done so far,
    1. Received proxy classes from PI
    2. Created a EJB Project, imported the proxy classes into EJB project
    3. created a EJB bean, local interface in the EJB project and exposed as webservice
    4. added the ejb to an ear
    5. added reference to the following jar files (external library)
    tcaiiproxy_rt_api.jar
    com.sap.aii.af.sdk.jar
    com.sap.aii.utilxi.server.jar
    com.sap.aii.utilxi.core.jar
    com.sap.aii.proxy.svc_api.jar
    6. able to build and deploy the application
    7. able to open the webservice in wsnavigator
    Error encountered:
    "Server Exception: javax.ejb.EJBException: nested exception is: java.lang.RuntimeException: java.lang.NoClassDefFoundError: com/sap/aii/proxy/xiruntime/core/AbstractType "
    Questions:
    1. Which method I should execute / call among all the proxy classes from local bean class to send message to PI?
    2. Is it mandatory to add refernces to the application.xml, ejb-jar.xml and other xmls ?
    3. How can I test / monitor the message being sent to PI interface?
    Thanks and best regards,
    Arun prabhu S

    plz cross chk the references under application-j2eeengine.xml and ejb-jar.xml
    http://wiki.sdn.sap.com/wiki/display/Java/JavaProxyChangesinPI7.1fromPI7.0
    u can chk tis article also:
    http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/508bb504-87cf-2c10-2aaf-f3a5df75e651?quicklink=index&overridelayout=true

  • Regarding Java proxy in PI 7.1

    Hi Folks,
    I want to implement the java proxy at sender side in one scenario and receiver side in another scenario.
    But when I open the IR> Goto Menu> Java Proxy Generation, it opens one pop up and asking the Archieve (you want to create new one or edit the existing file) file, what is this file and what is this type of file?
    Another is, after giving some name then it asks the software component version, when I give this SWCV then it is displaying " ...some ID.. Doesn't contain any active message interfaces"?
    What is the reason?
    Thanks
    Ramesh

    Hi Thanks for your reply.
    But when I open the IR> Goto Menu> Java Proxy Generation, it opens one pop up and asking the Archieve , after give this file  then it asks the software component version, when I give this SWCV then it is displaying " ....... ID Doesn't contain any active message interfaces"? What is the reason?
    Thanks
    Ramesh

  • Java proxy problem:com.sap.aii.proxy.xiruntime cannot be resolved to a type

    hi:
        i am new to Java proxy and new to SAP netweaver developer studio.
        thei PI version is 7.1
        I have generate a java proxy , then create a project in netweaver developer studio and import this java proxy according document "How Tou2026Work with XI 3.0 Java Proxies".
        but i can not find :aii_proxy_xirt.jar  aii_msg_runtime.jar on the PI server, only guidgenerator.jaraii_utilxi_misc.jar could be found. then i could not config the build path.
        in the  SAP netweaver developer studio, the error shows like :com.sap.aii.proxy.xiruntime cannot be resolved to a type
       then how to resolve this problem
       thank you very much

    Hi Cheng,
    I am trying to create a java proxy to send message from WebAS to PI using java proxy.
    I am using NWDS 7.1. Can you please help with step on how to create a java proxy in NWDS 7.1?
    Thanks and best regards,
    Arun prabhu S

  • Inbound Async Java Proxy

    I am using an Inbound Async Java Proxy to send via socket three strings, via SXMB_MONI and RWB->MM->MDT I can see message was successfully delivered to JP System that for me is the XI J2EE engine, the JP is not sending anything (the logic is very simple) much worse I hardcoded the strings that is to supose to send and still nothing happens, I think the JPR is not calling the EJB, this is the body of my ejb-jar.xml, I have doubts on the values of the local, home, remote... tags
    <ejb-jar>
        <description>EJB JAR description</description>
        <display-name>EJB JAR</display-name>
        <enterprise-beans>       
            <session>
                <ejb-name>MiIaAlertaDMS_PortTypeBean</ejb-name>
                <home>com.sap.aii.proxy.xiruntime.core.AbstractProxyInboundHome4</home>
                <remote>com.sap.aii.proxy.xiruntime.core.AbstractProxyInboundRemote4</remote>
                <local-home>com.sap.aii.proxy.xiruntime.core.AbstractProxyInboundLocalHome4</local-home>
                <local>com.sap.aii.proxy.xiruntime.core.AbstractProxyInboundLocal4</local>
                <ejb-class>sapPegDmsPEGBPM00.MiIaAlertaDMS_PortTypeBean</ejb-class>
                <session-type>Stateless</session-type>
                <transaction-type>Container</transaction-type>
            </session>
        </enterprise-beans>
    </ejb-jar>
    Any ideas on this problem?
    Thanks in advance.

    HI,
    Can you just cross check with the help of this blog-
    /people/prasad.ulagappan2/blog/2005/06/27/asynchronous-inbound-java-proxy
    Also as I told, you can write a file from payload in Java Proxy- to debug
    Regards,
    Moorthy

  • Sender java proxy don't work

    Hello!
    i configured a test xi scenario: JSP->(JAVA Proxy)-> XI -> file adapter.
    Jsp is in the same bean of proxy.
    I deploy this j2ee application in the same j2ee of XI.
    When I open jsp page with browser and send data, nothing appened.
    I check also in adapter engine monitor and xml monitor but i can't see any message.
    I think the problem is inside java bean because if i fix the output data, after post action i see data in jsp page.
    this is the class for call proxy:
    public class InvokeProxy {
         public String getRole(String name, String pwd){
              String role="";
              UsersSyncMI_PortTypeLocalHome queryOutLocalHome=null;
              UsersSyncMI_PortTypeLocal queryOutLocal=null;
              try{ Context ctx = null; Object ref = null; Properties p = new Properties();
              p.put(Context.INITIAL_CONTEXT_FACTORY,"com.sap.engine.services.jndi.InitialContextFactoryImpl");
              p.put(Context.PROVIDER_URL, "server:50004");
              p.put(Context.SECURITY_PRINCIPAL, "user");
              p.put(Context.SECURITY_CREDENTIALS, "pwd");
              ctx = new InitialContext();
              queryOutLocalHome = (UsersSyncMI_PortTypeLocalHome)ctx.lookup("java:comp/env/ejb/UsersSyncMI_PortTypeBean");
              queryOutLocal = queryOutLocalHome.create();
              MessageSpecifier msg = queryOutLocal.$messageSpecifier();
              msg.setSenderService("BS_XID_PROXY");
              queryOutLocal.$messageSpecifier(msg);
              UserDT_Type reqtype = new UserDT_Type();
              reqtype.setUsername(name);
              reqtype.setPassword(pwd);
              UsersDBDTResponse_Type response = new UsersDBDTResponse_Type();
              response = queryOutLocal.usersSyncMI(reqtype);
              role = role + response.getStatementResponse().get_as_listRow().getRow(0).getRole();
               } catch(Exception ex){
                   System.out.println(ex.getMessage()); } return role; }
    any suggestion
    thanks Ale

    I haven't J2SE in my scenario. I can't try.
    anyway, the code that i'm using now for call proxy is:
    try{ Context ctx = null; Object ref = null; Properties p = new Properties();
                ctx = new InitialContext();
              ref = ctx.lookup("java:comp/env/ejb/MIZPROTOTIPOOUT_PortTypeBean");
              queryOutLocalHome = (MIZPROTOTIPOOUT_PortTypeLocalHome)ctx.lookup("java:comp/env/ejb/MIZPROTOTIPOOUT_PortTypeBean");
              queryOutLocal = queryOutLocalHome.create();
              MessageSpecifier msg = queryOutLocal.$messageSpecifier();
              msg.setSenderService("BS_XID_PROXY");
              queryOutLocal.$messageSpecifier(msg);
              DTZPROTOTIPOOUT_Type reqtype = new DTZPROTOTIPOOUT_Type();
              reqtype.setData1(name);
              reqtype.setData1(pwd);
              DTZRETURN_Type response = new DTZRETURN_Type();
              queryOutLocal.mIZPROTOTIPOOUT(reqtype);
              String respons = "work!";
              role = respons;
               } catch(Exception ex){
                   System.out.println(ex.getMessage());
                   String error = ex.getMessage();
                   role = error;
          return role; }

  • Send JDBC Data with Java Proxy

    Hello,
    I Have generated a Java Proxy. And the Data Source is a JDBC Table like:
    VALUE01--VALUE02--VALUE03
    ROW1-Test1----Test1----Test1
    ROW2-Test2----Test2----Test2
    Now i can set the Datatypes in XI Proxy with
    TYPE.setVALUE01("Test1");
    TYPE.setVALUE02("Test1");
    TYPE.setVALUE03("Test1");
    so i can send a XML like
    <TYPE>
    <VALUE01>Test</VALUE01>
    <VALUE02>Test</VALUE02>
    <VALUE03>Test</VALUE03>
    </TYPE>
    My Problem is to send a XML Data like
    <TYPE>
    <VALUE01>Test1</VALUE01>
    <VALUE02>Test1</VALUE02>
    <VALUE03>Test1</VALUE03>
    </TYPE>
    <TYPE>
    <VALUE01>Test2</VALUE01>
    <VALUE02>Test2</VALUE02>
    <VALUE03>Test2</VALUE03>
    </TYPE>
    How can is send more than one item throw XI Proxi?
    Any Idea or Documentation?
    Regards,
    Robin

    Hi Robin,
    Hope these links provide good help
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/xi/java proxies and sap xi - the inside story, part 1.pdf
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/xi/java proxies and sap xi - the inside story, part ii.pdf
    Regards
    Vishnu

  • Java proxy client with HTTP sender

    I have SP15. I have sender agreement with HTTP adapter for system A and Java Proxy Cleint that send message as system A.
    When I send message through Java proxy I see error:
    <i>SOAPFault received from Integration Server. ErrorCode/Category: XIServer/IN_BIND_WRONG_ADPT; Params: HTTP; AdditionalText:  ; ApplicationFaultMessage:  ; ErrorStack: Server agreement found belongs to adapter HTTP; current adapter is 'XI' </i>
    When I deleted sender agreement it worked.
    Could you explain this strange behavior? Is it a bug. Sender agrement for HTTP is necessary since SP16

    I have the same problem with SOAP and file adapter. I've posted this here already.
    XIServer/IN_BIND_WRONG_ADPT
    I have deleted the sender agreement for my soap adapter scenarios, because a sender agreement is not necessary (created by the wizard). After that the soap adapter scenarios work fine. But at scenarios with a sender file adapter you need a sender agreement.
    We had the following situation:
    XI Test, XI SP17, Basis SP16 --> IN_BIND_WRONG_ADPT problem
    XI QA, XI SP17, Basis SP14 --> okay
    XI Prod, XI SP15, Basis SP 16 --> okay
    We patched our XI QA to
    XI QA, XI SP17, Basis SP16
    After that we have the IN_BIND_WRONG_ADPT problem at our XI  QA system too.
    I started a SAPP OSS call two weeks ago but got no solution till now. They checked our systems some times but with no result.
    Our central SLD is on the XI Prod System. Perhaps there is a connection. But I don't want to patch my XI Prod system to SP 17, because it's the only system that works without errors.
    Message was edited by: Gil Ritter

  • TCP/IP Server Socket using Java Proxy (Sender) ?

    Hi,
    I have requirement to listen certain port for third party POS system using TCP/IP Socket. Since there is no standard SAP TCP/IP Socket Adapter. I am planning to develop using Sender Java Proxy.
    Please advise whether this approach is workable ? or is there any related blog / forum discuss about Socket Server.
    This blog is only for socket client /people/saravanakumar.kuppusamy2/blog/2005/12/15/socket-integration-with-xi
    Thank You and Best Regards
    Fernand

    When you want to have minimal effort, you can create a standalone Java program which listens on a port and transforms the incoming tcp/ip stream to an HTTP message, which you can send to SAP PI.
    With more effort you can create an TCP/IP adapter by your own, according to JCA architecture.
    A sender Java proxy does not have any runnable code itself, so the problem to create a listened is not solved.

  • Passing File sender adapter paylaod to Java Proxy

    I have scenarion that I am getting files from a file adapter and I am not using "File Content Conversion" so file adapter is not converting into any dataType I created for this Scenario to run. The receiver is the Java Proxy as you know the java proxies has input as the MessageType. since we are not mapping incoming file content to any message types then java proxies will not receive the actual Payload.
    Question is, How is pass this file content to Java Proxies. 
    Appreciate your help.
    thanks,
    laxman

    hi,
    if you want to put the whole message then you
    try this:
    - put the whole file into one field (with content conversion)
    - then map this one field to one of the fields
    fo the java proxy and insinde the java proxy
    you will have access to the whole not converted message
    Regards,
    michal

  • Problem in creating a java proxy for PHP web service

    This is a problem in generating a java proxy for a PHP webservice.
    I have a PHP service running on Wamp Server and also a PHP client which is able to call the service.
    The WSDL for the PHP web service is also generated .
    I am trying to create a java proxy using the jdev (10.1.3.0.3) from the wsdl file.
    The wsdl generated by the php program is
    <?xml version="1.0" encoding="ISO-8859-1" ?>
    <definitions xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:si="http://soapinterop.org/xsd" xmlns:tns="urn:hellowsdl" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns="http://schemas.xmlsoap.org/wsdl/" targetNamespace="urn:hellowsdl">
    <types>
    <xsd:schema targetNamespace="urn:hellowsdl">
      <xsd:import namespace="http://schemas.xmlsoap.org/soap/encoding/" />
      <xsd:import namespace="http://schemas.xmlsoap.org/wsdl/" />
      </xsd:schema>
      </types>
    <message name="helloRequest">
      <part name="name" type="xsd:string" />
      </message>
    <message name="helloResponse">
      <part name="return" type="xsd:string" />
      </message>
    <portType name="hellowsdlPortType">
    <operation name="hello">
      <documentation>Says hello to the caller</documentation>
      <input message="tns:helloRequest" />
      <output message="tns:helloResponse" />
      </operation>
      </portType>
    <binding name="hellowsdlBinding" type="tns:hellowsdlPortType">
      <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http" />
    <operation name="hello">
      <soap:operation soapAction="urn:hellowsdl#hello" style="rpc" />
    <input>
      <soap:body use="encoded" namespace="urn:hellowsdl" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
      </input>
    <output>
      <soap:body use="encoded" namespace="urn:hellowsdl" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
      </output>
      </operation>
      </binding>
    <service name="hellowsdl">
    <port name="hellowsdlPort" binding="tns:hellowsdlBinding">
      <soap:address location="http://localhost/mywork/myphp.php" />
      </port>
      </service>
      </definitions>After making following changes to the wsdl program, I tried to generate java proxy.
    <definitions name="hellowsdl"
    xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
    xmlns:si="http://soapinterop.org/xsd" xmlns:tns="http://localhost/mywork/hellowsdl.wsdl" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
    xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns="http://schemas.xmlsoap.org/wsdl/" targetNamespace="http://localhost/mywork/myphpwsdl.wsdll">
    <types>
    <xsd:schema targetNamespace="http://localhost/mywork/hellowsdl.wsdl">
      <xsd:import namespace="http://schemas.xmlsoap.org/soap/encoding/" />
      <xsd:import namespace="http://schemas.xmlsoap.org/wsdl/" />
      </xsd:schema>
      </types>
    <message name="helloRequest">
      <part name="name" type="xsd:string" />
      </message>
    <message name="helloResponse">
      <part name="return" type="xsd:string" />
      </message>
    <portType name="hellowsdlPortType">
    <operation name="hello">
      <documentation>Says hello to the caller</documentation>
      <input message="tns:helloRequest" />
      <output message="tns:helloResponse" />
      </operation>
      </portType>
    <binding name="hellowsdlBinding" type="tns:hellowsdlPortType">
      <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http" />
    <operation name="hello">
      <soap:operation soapAction="" style="rpc" />
    <input>
      <soap:body use="encoded" namespace="http://localhost/mywork/hellowsdl" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
      </input>
    <output>
      <soap:body use="encoded" namespace="http://localhost/mywork/hellowsdl" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
      </output>
      </operation>
      </binding>
    <service name="hellowsdl">
    <port name="hellowsdlPort" binding="tns:hellowsdlBinding">
      <soap:address location="http://localhost/mywork/myphp.php" />
      </port>
      </service>
      </definitions>This is how the java stub file looks like:
    public class HellowsdlBinding_Stub
        extends oracle.j2ee.ws.client.StubBase
        implements demo.mypackage.HellowsdlPortType {
         *  public constructor
        public HellowsdlBinding_Stub(HandlerChain handlerChain) {
            super(handlerChain);
            _setProperty(ENDPOINT_ADDRESS_PROPERTY, "http://localhost/mywork/hellowsdl.php");
            setSoapVersion(SOAPVersion.SOAP_11);
            setServiceName( new QName("http://localhost/mywork/hellowsdl","hellowsdl"));
            setPortName( new QName("http://localhost/mywork/hellowsdl","hellowsdlPort"));
         *  implementation of hello
        public java.lang.String hello(java.lang.String name)
            throws java.rmi.RemoteException {
            StreamingSenderState _state = null;
            try {
                _state = _start(_handlerChain);
                if (_getProperty(ClientConstants.DIME_ENCODE_MESSAGES_WITH_ATTACHMENTS) != null) {
                    _state.getMessageContext().getMessage().setProperty("DimeEncode",_getProperty(ClientConstants.DIME_ENCODE_MESSAGES_WITH_ATTACHMENTS));
                InternalSOAPMessage _request = _state.getRequest();
                _request.setOperationCode(hello_OPCODE);
                _state.getMessageContext().setProperty("oracle.j2ee.ws.mgmt.interceptor.operation-qname",new QName("","hello"));
                demo.mypackage.runtime.HellowsdlBinding_hello_ReqS _myHellowsdlBinding_hello_ReqS = new demo.mypackage.runtime.HellowsdlBinding_hello_ReqS();
            _myHellowsdlBinding_hello_ReqS.setName(name);
            SOAPBlockInfo _bodyBlock = new SOAPBlockInfo(ns1_hello_hello_QNAME);
            _bodyBlock.setValue(_myHellowsdlBinding_hello_ReqS);
            _bodyBlock.setSerializer(myns1_hello__HellowsdlBinding_hello_ReqS_SOAPSerializer);
            _request.setBody(_bodyBlock);
            _state.getMessageContext().setProperty("http.soap.action", "http://localhost/mywork/hellowsdl");
            _send((String) _getProperty(ENDPOINT_ADDRESS_PROPERTY), _state);
            demo.mypackage.runtime.HellowsdlBinding_hello_RespS _myHellowsdlBinding_hello_RespS = null;
            Object _responseObj = _state.getResponse().getBody().getValue();
            if (_responseObj instanceof SOAPDeserializationState) {
                _myHellowsdlBinding_hello_RespS =
                    (demo.mypackage.runtime.HellowsdlBinding_hello_RespS)((SOAPDeserializationState)_responseObj).getInstance();
            } else {
                _myHellowsdlBinding_hello_RespS =
                    (demo.mypackage.runtime.HellowsdlBinding_hello_RespS)_responseObj;
            return _myHellowsdlBinding_hello_RespS.get_return();
        } catch (RemoteException e) {
            // let this one through unchanged
            throw e;
        } catch (JAXRPCException e) {
            throw new RemoteException(e.getMessage(), e);
        } catch (Exception e) {
            if (e instanceof RuntimeException) {
                throw (RuntimeException)e;
            } else {
                throw new RemoteException(e.getMessage(), e);
    *  this method deserializes the request/response structure in the body
    protected void _readFirstBodyElement(XMLReader bodyReader, SOAPDeserializationContext deserializationContext, StreamingSenderState  state) throws Exception {
        int opcode = state.getRequest().getOperationCode();
        switch (opcode) {
            case hello_OPCODE:
                _deserialize_hello(bodyReader, deserializationContext, state);
                break;
            default:
                throw new SenderException("sender.response.unrecognizedOperation", Integer.toString(opcode));
    * This method deserializes the body of the hello operation.
    private void _deserialize_hello(XMLReader bodyReader, SOAPDeserializationContext deserializationContext, StreamingSenderState state) throws Exception {
        try {
            Object myHellowsdlBinding_hello_RespSObj =
                myns1_helloResponse__HellowsdlBinding_hello_RespS_SOAPSerializer.deserialize(ns1_hello_helloResponse_QNAME,
                    bodyReader, deserializationContext);
            SOAPBlockInfo bodyBlock = new SOAPBlockInfo(ns1_hello_helloResponse_QNAME);
            bodyBlock.setValue(myHellowsdlBinding_hello_RespSObj);
            state.getResponse().setBody(bodyBlock);
        } catch (DeserializationException e) {
            if (e.getSoapFaultSubCodeType() == JAXRPCExceptionBase.FAULT_CODE_NONE && e.getSoapFaultCodeType() != JAXRPCExceptionBase.FAULT_CODE_DATA_ENCODING_UNKNOWN) {
                e.setSoapFaultSubCodeType(JAXRPCExceptionBase.FAULT_CODE_BAD_ARGUMENTS);
            throw e;
    public String _getEncodingStyle() {
        return SOAPEncodingConstants.getSOAPEncodingConstants(soapVersion).getURIEncoding();
    public void _setEncodingStyle(String encodingStyle) {
        throw new UnsupportedOperationException("cannot set encoding style");
    public ClientTransport getClientTransport() {
        return super._getTransport();
    * This method returns an array containing (prefix, nsURI) pairs.
    protected String[] _getNamespaceDeclarations() {
        return myNamespace_declarations;
    * This method returns an array containing the names of the headers we understand.
    public QName[] _getUnderstoodHeaders() {
        return understoodHeaderNames;
    * This method handles the case of an empty SOAP body.
    protected void _handleEmptyBody(XMLReader reader, SOAPDeserializationContext deserializationContext, StreamingSenderState state) throws Exception {
    public void _initialize(InternalTypeMappingRegistry registry) throws Exception {
        super._initialize(registry);
        myns1_hello__HellowsdlBinding_hello_ReqS_SOAPSerializer = (CombinedSerializer)registry.getSerializer(SOAPEncodingConstants.getSOAPEncodingConstants(soapVersion).getURIEncoding(), demo.mypackage.runtime.HellowsdlBinding_hello_ReqS.class, ns1_hello_TYPE_QNAME);
        myns1_helloResponse__HellowsdlBinding_hello_RespS_SOAPSerializer = (CombinedSerializer)registry.getSerializer(SOAPEncodingConstants.getSOAPEncodingConstants(soapVersion).getURIEncoding(), demo.mypackage.runtime.HellowsdlBinding_hello_RespS.class, ns1_helloResponse_TYPE_QNAME);
    private static final QName _portName = new QName("http://localhost/mywork/hellowsdl", "hellowsdlPort");
    private static final int hello_OPCODE = 0;
    private static final QName ns1_hello_hello_QNAME = new QName("http://localhost/mywork/hellowsdl", "hello");
    private static final QName ns1_hello_TYPE_QNAME = new QName("http://localhost/mywork/hellowsdl", "hello");
    private CombinedSerializer myns1_hello__HellowsdlBinding_hello_ReqS_SOAPSerializer;
    private static final QName ns1_hello_helloResponse_QNAME = new QName("http://localhost/mywork/hellowsdl", "helloResponse");
    private static final QName ns1_helloResponse_TYPE_QNAME = new QName("http://localhost/mywork/hellowsdl", "helloResponse");
    private CombinedSerializer myns1_helloResponse__HellowsdlBinding_hello_RespS_SOAPSerializer;
    private static final String[] myNamespace_declarations =
                                        new String[] {
                                            "ns0", "http://localhost/mywork/hellowsdl"
    private static final QName[] understoodHeaderNames = new QName[] {  };
    }The errors that are produced are-
    java.rmi.RemoteException: HTTP transport error: javax.xml.soap.SOAPException: java.security.PrivilegedActionException: javax.xml.soap.SOAPException: Bad response: 404 Not Found; nested exception is:
         HTTP transport error: javax.xml.soap.SOAPException: java.security.PrivilegedActionException: javax.xml.soap.SOAPException: Bad response: 404 Not Found
    Kindly help to resolve this.
    Thanks.

    This is a problem in generating a java proxy for a PHP webservice.
    I have a PHP service running on Wamp Server and also a PHP client which is able to call the service.
    The WSDL for the PHP web service is also generated .
    I am trying to create a java proxy using the jdev (10.1.3.0.3) from the wsdl file.
    The wsdl generated by the php program is
    <?xml version="1.0" encoding="ISO-8859-1" ?>
    <definitions xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:si="http://soapinterop.org/xsd" xmlns:tns="urn:hellowsdl" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns="http://schemas.xmlsoap.org/wsdl/" targetNamespace="urn:hellowsdl">
    <types>
    <xsd:schema targetNamespace="urn:hellowsdl">
      <xsd:import namespace="http://schemas.xmlsoap.org/soap/encoding/" />
      <xsd:import namespace="http://schemas.xmlsoap.org/wsdl/" />
      </xsd:schema>
      </types>
    <message name="helloRequest">
      <part name="name" type="xsd:string" />
      </message>
    <message name="helloResponse">
      <part name="return" type="xsd:string" />
      </message>
    <portType name="hellowsdlPortType">
    <operation name="hello">
      <documentation>Says hello to the caller</documentation>
      <input message="tns:helloRequest" />
      <output message="tns:helloResponse" />
      </operation>
      </portType>
    <binding name="hellowsdlBinding" type="tns:hellowsdlPortType">
      <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http" />
    <operation name="hello">
      <soap:operation soapAction="urn:hellowsdl#hello" style="rpc" />
    <input>
      <soap:body use="encoded" namespace="urn:hellowsdl" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
      </input>
    <output>
      <soap:body use="encoded" namespace="urn:hellowsdl" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
      </output>
      </operation>
      </binding>
    <service name="hellowsdl">
    <port name="hellowsdlPort" binding="tns:hellowsdlBinding">
      <soap:address location="http://localhost/mywork/myphp.php" />
      </port>
      </service>
      </definitions>After making following changes to the wsdl program, I tried to generate java proxy.
    <definitions name="hellowsdl"
    xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
    xmlns:si="http://soapinterop.org/xsd" xmlns:tns="http://localhost/mywork/hellowsdl.wsdl" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
    xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns="http://schemas.xmlsoap.org/wsdl/" targetNamespace="http://localhost/mywork/myphpwsdl.wsdll">
    <types>
    <xsd:schema targetNamespace="http://localhost/mywork/hellowsdl.wsdl">
      <xsd:import namespace="http://schemas.xmlsoap.org/soap/encoding/" />
      <xsd:import namespace="http://schemas.xmlsoap.org/wsdl/" />
      </xsd:schema>
      </types>
    <message name="helloRequest">
      <part name="name" type="xsd:string" />
      </message>
    <message name="helloResponse">
      <part name="return" type="xsd:string" />
      </message>
    <portType name="hellowsdlPortType">
    <operation name="hello">
      <documentation>Says hello to the caller</documentation>
      <input message="tns:helloRequest" />
      <output message="tns:helloResponse" />
      </operation>
      </portType>
    <binding name="hellowsdlBinding" type="tns:hellowsdlPortType">
      <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http" />
    <operation name="hello">
      <soap:operation soapAction="" style="rpc" />
    <input>
      <soap:body use="encoded" namespace="http://localhost/mywork/hellowsdl" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
      </input>
    <output>
      <soap:body use="encoded" namespace="http://localhost/mywork/hellowsdl" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
      </output>
      </operation>
      </binding>
    <service name="hellowsdl">
    <port name="hellowsdlPort" binding="tns:hellowsdlBinding">
      <soap:address location="http://localhost/mywork/myphp.php" />
      </port>
      </service>
      </definitions>This is how the java stub file looks like:
    public class HellowsdlBinding_Stub
        extends oracle.j2ee.ws.client.StubBase
        implements demo.mypackage.HellowsdlPortType {
         *  public constructor
        public HellowsdlBinding_Stub(HandlerChain handlerChain) {
            super(handlerChain);
            _setProperty(ENDPOINT_ADDRESS_PROPERTY, "http://localhost/mywork/hellowsdl.php");
            setSoapVersion(SOAPVersion.SOAP_11);
            setServiceName( new QName("http://localhost/mywork/hellowsdl","hellowsdl"));
            setPortName( new QName("http://localhost/mywork/hellowsdl","hellowsdlPort"));
         *  implementation of hello
        public java.lang.String hello(java.lang.String name)
            throws java.rmi.RemoteException {
            StreamingSenderState _state = null;
            try {
                _state = _start(_handlerChain);
                if (_getProperty(ClientConstants.DIME_ENCODE_MESSAGES_WITH_ATTACHMENTS) != null) {
                    _state.getMessageContext().getMessage().setProperty("DimeEncode",_getProperty(ClientConstants.DIME_ENCODE_MESSAGES_WITH_ATTACHMENTS));
                InternalSOAPMessage _request = _state.getRequest();
                _request.setOperationCode(hello_OPCODE);
                _state.getMessageContext().setProperty("oracle.j2ee.ws.mgmt.interceptor.operation-qname",new QName("","hello"));
                demo.mypackage.runtime.HellowsdlBinding_hello_ReqS _myHellowsdlBinding_hello_ReqS = new demo.mypackage.runtime.HellowsdlBinding_hello_ReqS();
            _myHellowsdlBinding_hello_ReqS.setName(name);
            SOAPBlockInfo _bodyBlock = new SOAPBlockInfo(ns1_hello_hello_QNAME);
            _bodyBlock.setValue(_myHellowsdlBinding_hello_ReqS);
            _bodyBlock.setSerializer(myns1_hello__HellowsdlBinding_hello_ReqS_SOAPSerializer);
            _request.setBody(_bodyBlock);
            _state.getMessageContext().setProperty("http.soap.action", "http://localhost/mywork/hellowsdl");
            _send((String) _getProperty(ENDPOINT_ADDRESS_PROPERTY), _state);
            demo.mypackage.runtime.HellowsdlBinding_hello_RespS _myHellowsdlBinding_hello_RespS = null;
            Object _responseObj = _state.getResponse().getBody().getValue();
            if (_responseObj instanceof SOAPDeserializationState) {
                _myHellowsdlBinding_hello_RespS =
                    (demo.mypackage.runtime.HellowsdlBinding_hello_RespS)((SOAPDeserializationState)_responseObj).getInstance();
            } else {
                _myHellowsdlBinding_hello_RespS =
                    (demo.mypackage.runtime.HellowsdlBinding_hello_RespS)_responseObj;
            return _myHellowsdlBinding_hello_RespS.get_return();
        } catch (RemoteException e) {
            // let this one through unchanged
            throw e;
        } catch (JAXRPCException e) {
            throw new RemoteException(e.getMessage(), e);
        } catch (Exception e) {
            if (e instanceof RuntimeException) {
                throw (RuntimeException)e;
            } else {
                throw new RemoteException(e.getMessage(), e);
    *  this method deserializes the request/response structure in the body
    protected void _readFirstBodyElement(XMLReader bodyReader, SOAPDeserializationContext deserializationContext, StreamingSenderState  state) throws Exception {
        int opcode = state.getRequest().getOperationCode();
        switch (opcode) {
            case hello_OPCODE:
                _deserialize_hello(bodyReader, deserializationContext, state);
                break;
            default:
                throw new SenderException("sender.response.unrecognizedOperation", Integer.toString(opcode));
    * This method deserializes the body of the hello operation.
    private void _deserialize_hello(XMLReader bodyReader, SOAPDeserializationContext deserializationContext, StreamingSenderState state) throws Exception {
        try {
            Object myHellowsdlBinding_hello_RespSObj =
                myns1_helloResponse__HellowsdlBinding_hello_RespS_SOAPSerializer.deserialize(ns1_hello_helloResponse_QNAME,
                    bodyReader, deserializationContext);
            SOAPBlockInfo bodyBlock = new SOAPBlockInfo(ns1_hello_helloResponse_QNAME);
            bodyBlock.setValue(myHellowsdlBinding_hello_RespSObj);
            state.getResponse().setBody(bodyBlock);
        } catch (DeserializationException e) {
            if (e.getSoapFaultSubCodeType() == JAXRPCExceptionBase.FAULT_CODE_NONE && e.getSoapFaultCodeType() != JAXRPCExceptionBase.FAULT_CODE_DATA_ENCODING_UNKNOWN) {
                e.setSoapFaultSubCodeType(JAXRPCExceptionBase.FAULT_CODE_BAD_ARGUMENTS);
            throw e;
    public String _getEncodingStyle() {
        return SOAPEncodingConstants.getSOAPEncodingConstants(soapVersion).getURIEncoding();
    public void _setEncodingStyle(String encodingStyle) {
        throw new UnsupportedOperationException("cannot set encoding style");
    public ClientTransport getClientTransport() {
        return super._getTransport();
    * This method returns an array containing (prefix, nsURI) pairs.
    protected String[] _getNamespaceDeclarations() {
        return myNamespace_declarations;
    * This method returns an array containing the names of the headers we understand.
    public QName[] _getUnderstoodHeaders() {
        return understoodHeaderNames;
    * This method handles the case of an empty SOAP body.
    protected void _handleEmptyBody(XMLReader reader, SOAPDeserializationContext deserializationContext, StreamingSenderState state) throws Exception {
    public void _initialize(InternalTypeMappingRegistry registry) throws Exception {
        super._initialize(registry);
        myns1_hello__HellowsdlBinding_hello_ReqS_SOAPSerializer = (CombinedSerializer)registry.getSerializer(SOAPEncodingConstants.getSOAPEncodingConstants(soapVersion).getURIEncoding(), demo.mypackage.runtime.HellowsdlBinding_hello_ReqS.class, ns1_hello_TYPE_QNAME);
        myns1_helloResponse__HellowsdlBinding_hello_RespS_SOAPSerializer = (CombinedSerializer)registry.getSerializer(SOAPEncodingConstants.getSOAPEncodingConstants(soapVersion).getURIEncoding(), demo.mypackage.runtime.HellowsdlBinding_hello_RespS.class, ns1_helloResponse_TYPE_QNAME);
    private static final QName _portName = new QName("http://localhost/mywork/hellowsdl", "hellowsdlPort");
    private static final int hello_OPCODE = 0;
    private static final QName ns1_hello_hello_QNAME = new QName("http://localhost/mywork/hellowsdl", "hello");
    private static final QName ns1_hello_TYPE_QNAME = new QName("http://localhost/mywork/hellowsdl", "hello");
    private CombinedSerializer myns1_hello__HellowsdlBinding_hello_ReqS_SOAPSerializer;
    private static final QName ns1_hello_helloResponse_QNAME = new QName("http://localhost/mywork/hellowsdl", "helloResponse");
    private static final QName ns1_helloResponse_TYPE_QNAME = new QName("http://localhost/mywork/hellowsdl", "helloResponse");
    private CombinedSerializer myns1_helloResponse__HellowsdlBinding_hello_RespS_SOAPSerializer;
    private static final String[] myNamespace_declarations =
                                        new String[] {
                                            "ns0", "http://localhost/mywork/hellowsdl"
    private static final QName[] understoodHeaderNames = new QName[] {  };
    }The errors that are produced are-
    java.rmi.RemoteException: HTTP transport error: javax.xml.soap.SOAPException: java.security.PrivilegedActionException: javax.xml.soap.SOAPException: Bad response: 404 Not Found; nested exception is:
         HTTP transport error: javax.xml.soap.SOAPException: java.security.PrivilegedActionException: javax.xml.soap.SOAPException: Bad response: 404 Not Found
    Kindly help to resolve this.
    Thanks.

  • Error while running java proxy in PI 7.1

    Hi All,
    I had created a java proxy using nwds 7.1. This java proxy is called by XI channel and its synchronous.
    WHen i run my scenario in PI i am getting a error "Error while sending message: com.sap.engine.interfaces.messaging.api.exception.MessagingException: Error processing inbound message. Exception: No remote bean found for reference of class $Proxy2919
    Kindly help me finding what can be the issue.
    Regards,
    Rajesh

    Go to the JNDI Browser (Nwa -> Problem Management), and check if the proxy was deployed correctly with the exact name "Proxy2919".
    Also, check the OSS note below.
    #1292633 - JPR: Throwing "No remote bean found for reference of class"

  • Give me description about JAVA Proxy Runtime and JAVA Proxy Server

    Give me description about JAVA Proxy Runtime and JAVA Proxy Server with some examples.

    Hi,
    Java proxy runtime :
    Using the Java proxy runtime you can receive messages or send messages to the Integration Server.
    This will help you
    http://help.sap.com/saphelp_nw04/helpdata/en/64/7e5e3c754e476ee10000000a11405a/frameset.htm
    Java proxy server :
    The connection to the Integration Server by using the Java proxy runtime.
    This will help you
    http://help.sap.com/saphelp_nw04/helpdata/en/87/5305adc23540b8ac7bce08dbe96bd5/frameset.htm
    Regards
    Agasthuri Doss

  • Direct Connection ABAP Proxy and Java Proxy possible ????

    Hi Folks ,
    As i read as direct connection possible between 2 SAP systems only ..
    and also i read as WS Direct Connection u2013 (Java) ..
    What it means ?? is it ABAP Proxy to Java Proxy using Direct connection ??  Like Java Client Proxy and ABAP Server proxy
    I am not clear on this.. Could you please explain or help me on this . ??
    Siva..

    Hi ,
    +You can do both for java proxies as well Abap proxies.+
    As per the following points
    1. Point-to-point connection is a new capability available with SAP NW PI 7.1. It allows applications or systems to send messages using WS-RM without going through a middleware, e.g. PI, but still using a centralized tool to design and
    configure the interfaces and connection properties.
    2. SAP XI 3.0/PI 7.00 or higher releases can be licensed based on the total volume of messages in
    gigabytes (GB) that is processed per month. The size of the payload is determined in the integration
    server. The information is then aggregated according to sender and receiver system.
    Question :
    1. If Message exchange between 2 SAP applications using direct connection .. Then dont we need to consider about licencing cost for volume of messages per month ?
    2. So if i use ABAP Client Proxy to Java Server proxy  scenario.. can i use direct connection  ? Eg., SAP ECC to java application ?
    In both the cases PI Runtime is not required  .. Am i right ?
    Please clarify..
    Siva..

Maybe you are looking for

  • Problems with special Characters in filenames and folders

    My problem is that i have a small portlet which lists some files under each other. These files have sometimes the special character & in there name. If now a person clicks with right mousebutton on such a link, the saving dialog only shows a cryptik

  • I deleted one app from the purchases list and how can I get it back?

    I find it at app store but it says i already accept it and I don't know how to download it again.

  • Ship-to-party,sold-to-party,bill-to-party

    Hi all,     I want to retrieve ship-to-party,sold-to-part and bill-to-party for a given Document number. From which table these fields can be retieved. Kindly help me. Thanks in advance, Praveena

  • Error when applying patch 3171663(11.5.9 CU2 )..

    hi.. error when applying patch 3171663(11.5.9 CU2 ) below error in log file: Assigned: file mscplan.odf on worker 1 for product msc username MSC. Time is: Sat May 22 2010 21:58:03 FAILED: file mscplan.odf on worker 1 for product msc username MSC. Tim

  • Blank histogram, how comes?

    Since today, when I select a thumbnail in the Library, the histogram is blank. The frame is there at the top right, but contains nothing. When I select a thumbnail a word flashes very briefly inside the histogram frame(I believe "Calculating..."), bu