Does Java Proxy guarantee the delivery of message?

Hi All ,
I would like to know, if java client proxy guarantees the delivery of messages similar to ABAP client proxies.
I am asking this question with reference to a situation where the XI system is down and the client proxy messages are invoked to the Integration Server.
Can anyone share more thoughts on this?
Thanks
Narendra

Narendra,
Refer to the url http://help.sap.com/saphelp_nw04/helpdata/en/e3/c809c2fde0af4098e1ae126d06866c/frameset.htm
From the menu on the LHS of this page you can navigate down to Acknowledgements
An acknowledgement can be set which will enable you to confirm that an asynchronous message has been received
Hope this helps,
Mike

Similar Messages

  • Error while calling the java proxy with the ValueMapping repl scenario

    Hi All
    I am trying to upload values in the RWB for vaue mapping using the standard ValueMappingReplication interface . But I can see the following message in the Message Display Tool of the RWB .This scenario was working fine sometime back suddenly after some days we started to see this exception .
    JPR could not process the message. Reason: No such method valueMappingReplication (for the asynchronous replication scenario) in proxy bean localejbs/sap.com/com.sap.xi.services/ValueMappingApplication
    Delivery of the message to the application using connection JPR failed, due to: com.sap.aii.af.ra.ms.api.DeliveryException: No such method valueMappingReplication (for the asynchronous replication scenario) in proxy bean localejbs/sap.com/com.sap.xi.services/ValueMappingApplication: com.sap.aii.proxy.xiruntime.core.XmlInboundException: No such method valueMappingReplication (for the asynchronous replication scenario) in proxy bean localejbs/sap.com/com.sap.xi.services/ValueMappingApplication.
    Can anyone please guide me what could be the done to resolve this .
    Thanks.

    This may happen when the java proxy is not registered. Use the following URL to do so
    http://<Server>:<Port>/ProxyServer/register?ns=http://sap.com/xi/XI/System&interface=ValueMappingReplication&bean=localejbs/sap.com/com.sap.xi.services/ValueMappingApplication&method=valueMappingReplication
    Regards,
    Prateek

  • Synchronous Java Proxy Server template - filling reponse message elements

    Hi !
    I'm writing a java proxy server for a synchronous interface. I'm somehow new in java...and I don't know how should I create elements for my response message inside the java method used to process the request message.
    The response message format is something like this:
    <field1>abc</field1>
    <field2>
    ....<field2a>
    ........<fields2a1>
    ........</fields2a1>
    ....</field2a>
    ....<field2a>
    ....</field2a>
    </field2>
    according to the type "DT_Output_Type" type of the public class MyMethod defined in the java template generated by XI repository..
    I think I should do something like this:
    DT_Output_Type response = new DT_Output_Type();
    DT_Output_Type.field2_List field2values = new DT_Output_Type.field2_List();
    field2values.setfield2a(0,"1234");
    response.setfield1 = "abc";
    response.setfield2(field2values);
    return response;
    But I receive "Error invoking method". If I comment out the code where I assign values to sub-elements, everything works ok.
    Thanks !
    Matias

    Hi Matias,
    >><i>DT_Output_Type.field2_List field2values = new DT_Output_Type.field2_List();</i>
    This will create instance for field2 only.
    Before setting field2a using <i>field2values.setfield2a(0,"1234");</i> you must creat instance of field2a and also for field2a1.
    I guess field2a will be an array.
    so the order of creating instance and setting values can be ...
    1. create instance of field2
    2. create instance of field2a array
    3. create instance of first array element of field2a
    4. create instance of field2a1
    5. set value for field2a1
    6. set field2a1 in first array element of field2a
    repeat steps 3-6 for next elements of field2a
    7. set field2a array object (created in step 2) in field2
    8. response.setfield2(field2values);
    Also,
    as mentioned by Amol, set value for filed1 should be
    response.setfield1("abc");
    Regards,
    Uma

  • Does Java self-limit the number of active threads?

    I was hoping someone might be able to shed some light on this:
    I basically have a loop which creates an instance of a class that extends Thread. This class, lets call it MyTask, may take a minute or two to run. In my run() method I system.out an ID as soon as the .start() is actioned, like this:
    class MyTask extends Thread
    int nMyID;
    public MyTask(int vnMyID)
    this.nMyID = vnMyID;
    public void run()
    System.out.println(this.nMyID);
    // do other stuff that takes a couple of mins...
    ThirdPartyAPI.dosomething();
    In my loop I create an instance of MyTask and call the .start() method on it.
    What I'm seeing is that rather than the ID being outputted immediately as I would expect, the IDs are being outputted over a period of time, so this to me would imply that Java is queuing the threads before starting them? I don't want it to queue the treads because the rest of MyTask is simply sat waiting for a response from a third party system. It gets through them all eventually, but it just takes a long time, and it should be quicker.
    Is there anything I can do to stop it from behaving this way?
    Thank you

    BigBadBurrow wrote:
    I was hoping someone might be able to shed some light on this:
    I basically have a loop which creates an instance of a class that extends Thread. Unrelated to your problem, but just as a side note, that's poor design. You're almost certainly not creating a specialized kind of Thread, but rather, a task to be run in its own thread, and hence you should implement Runnable.
    This class, lets call it MyTask, may take a minute or two to run. In my run() method I system.out an ID as soon as the .start() is actioned, like this:
    class MyTask extends Thread
    int nMyID;
    public MyTask(int vnMyID)
    this.nMyID = vnMyID;
    public void run()
    System.out.println(this.nMyID);
    // do other stuff that takes a couple of mins...
    ThirdPartyAPI.dosomething();
    In my loop I create an instance of MyTask and call the .start() method on it.
    What I'm seeing is that rather than the ID being outputted immediately as I would expect, the IDs are being outputted over a period of timeProvide an [url http://sscce.org]SSCCE
    , so this to me would imply that Java is queuing the threads before starting them? Not generally, no. However, once you've started the other threads, you now have those threads running plus your main thread. If your main thread goes on to do some CPU intensive work, it might be some time before the other threads get cycles. Anytime you have more threads the CPUs/cores, there will be at least one thread that's waiting. You don't (and shouldn't need to) control which thread gets CPU when.

  • Does java import loads the class?

    Hi,
    Acc common practive {not mentioned in Sun java convention} if a class is using more than three classes from a pacakage then its ideal to import all the classes from tht package instead of importing individual classes. i.e., import pacakage.*;
    1) Does this kind of load all the classes into memory?
    2) Does import statement actually loads a class into memory
    isnt import jst to use class name instead of complete package name in the code?
    3) Does a class get loaded only when its object/ its static memebers are invoked?
    Would appreciate if anyone can answer these queries.
    Thanks
    Deepak

    Acc common practive {not mentioned in Sun java
    convention} And not mentioned or usually followed anywhere else. Who says this?
    if a class is using more than three
    classes from a pacakage then its ideal to import all
    the classes from tht package instead of importing
    individual classes. i.e., import pacakage.*;
    1) Does this kind of load all the classes into
    memory?imports have no influence on anything but the length of written code. Thanks for being the second person this hour to ask this question without researching first.
    2) Does import statement actually loads a class into
    memoryNo. It does nothing at all.
    isnt import jst to use class name instead of complete
    package name in the code?Yes.
    3) Does a class get loaded only when its object/ its
    static memebers are invoked?Yes.

  • What does Java do with the input file?

    Hello everyone --
    I have a freaky Java problem. I'm running a program that takes an input file, reads it one line at a time, and determines whether the info I'm looking for is contained in it or not. For each line it reads, it decides if that line is good or bad, and broadcasts the findings in a System.out.println(). Every line gets one. When I run the program, I redirect the output to a log file. What's going on when the input file is 13000+ lines long and the log file is only 2500 lines long? This is tweakin' me out.
    Thanks for the advice,
    -Kwj.

    Here's what I have:
    boolean isGood = true;
    int count = 1;
    while((line = in.readLine()) != null)
    if (/*some condition is met*/)
    {*do some stuff*/}
    else
    isGood = false;
    System.out.println("***" + line);
    if (isGood)
    /*do some more stuff*/
    System.out.println(count + ". " + line)
    count++;
    }//process all lines
    As far as I can tell, I have every line accounted for in the else statement or the last if statement. If the line doesn't meet the req., it doesn't get to go on to the last if processing. All the good ones get processed. I think.

  • Java Proxy message in waiting status

    Hi,
       Let me explain my case, In our Integration Scenario we have configured an Inbound Java Proxy as the How to guide (HOW TO WORK WITH JAVA PROXIES) expain, but the proxy doesn't hava code, that is, it have the code by default when its created, and when we register it and the scenario runs, in the message monitoring the status of the message to the JP Business Service is in WAITING status, and in the details it says sometimes that an old reference to another JNDI name of bean is doesn't locate or the message "MessageSpecifier could not be reset".
       Remember, the Imp. class has only the default code and the scenario is JDBC --> XI --> JavaProxy
       Any ideas?

    Hi Hector,
    Status:  WAITING
              The message had been sent and it is failed and is currently waiting for another attempt.
    Solution :
    When the fist attempt to deliver the message has failed (a recoverable exception arose), the message is usually rescheduled and the status is updated to WAITING. As long as the message is in this status, the Messaging System retries to deliver the message according to the configured retry settings (default 3 tries).
    Regards
    Agasthuri Doss

  • What are the pre-requisite for JAVA Proxy communication?

    What are the pre-requisite for JAVA Proxy communication?

    Hi,
    You can install the Java proxy runtime on the SAP J2EE Engine Release 6.40 SP5 or higher.
    The messaging system that the Java proxy runtime uses to send messages to the Integration Server must also be installed on the J2EE server.
    To send messages from a J2EE application, the application must be programmed against beans that encapsulate all details about the Java runtime. The following classes are generated:
    ·        Proxy classes that send or receive messages using the Java proxy runtime.
    ·        Bean classes as an outer shell that conform to the J2EE standard. The beans call the proxy classes for communication.
    The classes must be deployed on the J2EE server together with their J2EE application
    see this link for the example scenario http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/f272165e-0401-0010-b4a1-e7eb8903501d

  • System does not propose the delivery date based on factory calendar

    Hi,
    I am creating a sales order for a delivery date for this sat which is (2/22/09)
    I have maintained 2 separate calendars for
    1) shipping point
    2) for the route
    The route has a transit time of 1 day and the calendar has sat and sunday as non working.
    the Shipping point has a pick/pack time of 1 day and the calendar has sat and sunday as non working
    The material is available in the warehouse
    Now when i create this sales order i enter the delivery date as 2/22/09, the system does not propose me the delivery date of monday (i.e 2/23/09) It accepts the 2/22/09 delivery date.
    In the schedule line i do see the date as 2/22/09 only.
    The delivery was created with the following dates
    Picking = 2/17/09
    Transportation Planning = 02/18/2009
    Loading =02/18/2009 
    Planned GI= 02/18/2009
    Delivery Date = 02/22/2009
    How can the system give me the delivery date of a sunday when the calendar doesnt allow sunday as working day.
    Also the route time is 1 day in transit so i am not sure why the system is proposing a 3 day transit time?
    Can any one explain the behaviour of SAP for the delivery date logic

    Dspsac,
    Delivery date can be any date.  For instance, if your customer insisted on a Sunday delivery, you would accommodate him, regardless of any calendar.
    From the delivery date, the system counts backwards USING THE FACTORY CALENDAR ASSIGNED TO THE ROUTE by the number of days in the route.  You have to consult the FC assigned to your Route to determine if the GI date has been properly calculated.
    From the GI date, the system counts backward Pick/pack time, using the shipping point calendar, to arrive at Material availability date.
    Calculations are explained in SAP online help
    [Transportation and Delivery Scheduling|http://help.sap.com/erp2005_ehp_04/helpdata/EN/dd/5607e7545a11d1a7020000e829fd11/frameset.htm]
    Regards,
    DB49

  • De-register the java proxy

    Hi Frnds,
    Can you please tell me the process for de-register the java proxy from the server.
    Thanks,
    Raj

    Hi Ravi,
    Thanks for your response,
    I got my solution:
    http://<server>:<port>/ProxyServer  -
    > We will get all the options we can use with it.
    And for unregister
    http://<Host>:<Port>/ProxyServer/unregister?ns=<Namespace>&interface=<MessageInterface>&bean=<JNDI_Name>&method=<MethodName>
    Thanks,
    Raj

  • Error in java proxy generation due to xs:choice tag

    Hi all,
    I'm trying to generate a java proxy in the SAP XI design.
    The message interface I'm using is based on an external definition which i imported from an xsd file.
    The problem is that XI doesn't allow me to generate the java proxy because in the xsd schema the tag <xs:choice> is present and XI cannot handle it (just in this case, because the external definition works fine).
    Does anybody know how to solve the problem or manage to generate the javaproxy anyhow?
    Thanks in advance,
    Daniele

    > Replace <xs:choice> tag with  <b><xsd:choice> tag
    > </b>
    > that should solve the prob.
    I tried to change the tag (replacing also other <xs:...> tags in order to obtain a valid xsd) but the problem didnt change.
    i'm almost convinced that tag is not supported in java proxy generation (but it is for external definitions...)

  • Java Proxy Generation not working - Support for Parallel Processing

    Hi Everyone,
    As per SAP Note 1230721 - Java Proxy Generation - Support for Parallel Processing, when we generate a java proxy from an interface we are supposed to get 2 archives (one for serial processing and another suffixed with "PARALLEL" for parallel processing of jaav proxies in JPR).
    https://websmp230.sap-ag.de/sap(bD1lbiZjPTAwMQ==)/bc/bsp/spn/sapnotes/index2.htm?numm=1230721
    We are on the correct patch level as per the Note, however when we generate java proxy from the IR for an outbound interface, it genrates only 1 zip archive (whose name we ourselves provide in the craete new archive section). This does not enable the parallel processsing of the messages in JPR.
    Could you please help me in this issue, and guide as to how archives can be generated for parallel processing.
    Thanks & Regards,
    Rosie Sasidharan.

    Hi,
    Thanks a lot for your reply, Prateek.
    I have already checked SAP Note 1142580 - "Java Proxy is not processing messages in parallel" where they ask to modify the ejb-jar.xml. However, on performing the change in ejb-jar.xml and while building the EAR, I get the following error:
    Error! The state of the source cache is INCONSISTENT for at least one of the request DCs. The build might produce incorrect results.
    Then, on going through the SAP Note 1142580 again, I realised that the SAP Note 1230721 also should be looked onto which will be needed for generating the Java proxy from Message Interfaces in IR for parallel processing.
    Kindly help me if any of you have worked on such a scenario.
    Thanks in advance,
    Regards,
    Rosie Sasidharan.

  • Java Proxy error: Exception in method methodExists

    Hello all!
    We are doing the following synchronous scenario:  CRM->XI->JavaProxy--->Third party....
    Here is the process we are following to deploy our Proxy:
    1.Created EJB Module Project in NWDS
    2.Import the files generated by XI into ejbModule folder from ZIP file.
    3.Renamed *PortTypeImpl.template to *PortTypeImpl.java
    4.Compiled all code (no errors)
    5.Added all the references to the SAP libraries required (taken from our XI server):
    com.sap.aii.proxy.xiruntime
    com.sap.xi.util.misc
    com.sap.aii.messaging.runtime
    com.sap.guid
    6.Codified Java Proxy – codified the method <interfacename> in the <intefacename>_PortTypeImpl class.
    7.Edited ejb_jar.xml to add EJBs.
    8.Provided a JNDI name in the file ejb-j2ee-engine.xml.
    9.Built EJB archive (no errors).
    10.Created a new Enterprise Application Project and pointed build path to our EJB Project.
    11.Added our EJB to the Enterprise Application project.
    12.Created the references to the SAP libraries in the Enterprise Application Project in the application-j2ee-engine.xml file:
    com.sap.aii.proxy.xiruntime
    com.sap.xi.util.misc
    com.sap.aii.messaging.runtime
    com.sap.guid
    13.Within the Enterprise Application Project we built an EAR file.
    14.We deployed our .ear file to the J2EE Engine via Visual Admin (no errors).
    15.We registered our Java Proxy  on the ProxyServer, using
    /register?ns=<interface_namespace>&interface=<XI_Interface_Name>&bean=<EJB_JNDI_name> &method=<name of the method implemented by you on the _PortTypeImpl>
    Actually, we did the following:
    url for registering the EJB:
    http://ithpsrq0:50200/ProxyServer/register?ns=http://banco.popular.com.pr/xi/crm&interface=mi_AccountInfo_is&bean=popularinc.com/MiAccountInfoIs_Default&method=miAccountInfoIs
    Message displayed when listing interfaces (http://ithpsrq0:50200/ProxyServer/listAll)
    http://banco.popular.com.pr/xi/crm#mi_AccountInfo_is = popularinc.com/MiAccountInfoIs_Default:miAccountInfoIs
    1 interfaces found
    When running the interface we get the following error:
    com.sap.aii.af.ra.ms.api.DeliveryException: Error checking method name miAccountInfoIs of remote inbound proxy bean $Proxy250: Exception in method methodExists.: com.sap.aii.proxy.xiruntime.core.XmlInboundException: Error checking method name miAccountInfoIs of remote inbound proxy bean $Proxy250: Exception in method methodExists.
    Does anyone have any suggestions?
    What causes a "methodExists" Exception?
    Please help us,
    Thanks a lot!!!

    Hi,
      Is this a runtime of "com.sap.aii.proxy.xiruntime.core"
    please check the jars used, adding this jars will solve this i guess.
    aii_utilxi_misc.jar
    ejb20.jar
    exception.jar
    jARM.jar
    sapj2eeclient.jar
    sapxmltoolkit.jar
    aii_msg_runtime.jar
    aii_proxy_xirt.jar
    Also check, application-j2ee-engine.xml  and see if,
    com.sap.aii.proxy.xiruntime
    com.sap.aii.messaging.runtime
    com.sap.xi.util.misc
    com.sap.guid
    You wil get the jars in XI servers, you can ftp and get the jars, but you may need to search them.
    Anotherthing, always take the jars from the xi servers to be sure you are compatible with the upgrades .
    Hope this solves your problem.
    Anirban.

  • Problem with Server Java Proxy

    I have got an error: Delivery of the message to the application using connection JPR failed, due to: RecoverableException.
    Could you help me what is wrong with JPR?
    RWB monitoring doesn't show errors
    defaultTrace.trc - no errors
    Messafing System monitor
    Error Category:  XI_J2EE_MESSAGING_SYSTEM 
    Error Code:  INBOUND_DELIVERY_ERROR 
    I have deployed Java proxy on the same server (as XI)

    Hi Sergey,
    These may help you..
    User exit  or Badi for VL31N (create inbound delivery)
    Idoc WHSORD for inbound delivery
    cheers,
    Prashanth

  • 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.

Maybe you are looking for

  • Can I Start Over?

    I have evidently made mistakes importing my pictures into Photoshop catalog. I now have several thousand pictures with several thousand duplicates. In trying to fix this, I keep adding them back into the catalog. I also tried organizing my pictures i

  • Mac OS X, User Folder and Case-sensitivity (plus a Partitioning Question)

    Hello everybody. Today, I'd like to start a new thread regarding the configuration of OS X and the formatting of the drive with a HFS+ (case-sensitive, journaled) file system. There is a problem that has been tormenting me for quite some time now, an

  • Get files from Content server to Application server

    I want to Get few files from Content server to Application server, I have the required Archive ID. It is a HTTP Content server type. Can you please suggest the suitable method for this. Thanks Purna

  • PSSigValGetAPLabelProc callback is never called, why?

    I am understanding DigSig example, and am going to convert it to a proper dig signing plugin. So far i have understood the dig sig creation, validation and sig appearance creation satisfactorily, but what i cannot understand is why my PubSec register

  • Media files not showing in Palm desktop

    I have done a successful sync between iMac and TX, and have Palm Desktop 4.2.1.  Everything shows up in desktop except the media files (which were there with Palm Desktop using Windows XP on my old computer).  I was able to transfer a photo from the