Modify Messages Generated by Deployable/Standalone Proxy

In our project, our application sends out SOAP message via deployable or standalone proxy to call a web service. However, the web service provider requries some non-standard requirements to the message. E.g. the namespace prefix of an element must be "abc" instead of arbitrary
value. So we hope to intercept the SOAP message and modify it. Is there any "handler" or "hook" mechanism for web service proxy to achieve this goal? Or could we get some other workarounds?
Best Regards
Jerome

Hi Andreas,
here a link for more information:
<a href="http://help.sap.com/saphelp_nw2004s/helpdata/en/87/5305adc23540b8ac7bce08dbe96bd5/frameset.htm">http://help.sap.com/saphelp_nw2004s/helpdata/en/87/5305adc23540b8ac7bce08dbe96bd5/frameset.htm</a>
Regards,
Boris

Similar Messages

  • Change the default namespace in soap message generated by webservice proxy

    I have a requirement where the default namespace generated by the webservice proxy has to be changed. For example, below is a soap request message generated by the proxy:
    <env:Envelope xmlns: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:ns0="http://siebel.com/asi/"
    xmlns:ns1="http://www.siebel.com/xml/getAllSecurityValuesResponse/PS"
    xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
    <env:Header>
    <wsse:Security
    xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"
    xmlns="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"
    xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"
    env:mustUnderstand="1"
    xmlns:xmlns="http://schemas.xmlsoap.org/soap/envelope/">
    <wsse:UsernameToken
    xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"
    xmlns="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
    <wsse:Username>kaoliver</wsse:Username>
    <wsse:Password
    Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">db2</wsse:Password>
    </wsse:UsernameToken>
    </wsse:Security>
    </env:Header>
    <env:Body>
    <ns0:SearchSecurityServicegetAllSecurityValues_1>
    <Login>kaoliver</Login>
    </ns0:SearchSecurityServicegetAllSecurityValues_1>
    </env:Body>
    </env:Envelope>
    In the above message, I want to change the oasis namespace to a different namespace. Where are the default namespaces defined in the proxy classes generated by Jdev so that I can change them?
    Thanks in advance,
    Warm Regards,
    Shashi Anand B

    >
    If I define a prefix P2L in the expression editor to correspond to "http://foo.com/namespace/business", I'm able to reference the ExecuteResponse element as "./P2L:ExecuteResponse", but then I get stuck.
    If I try use a Rename action to change the namespace for "./P2L:*", only the ExecuteResponse element is renamed to <sof:ExecutResponse xmlns:sof="http://foo.com/namespace/proxy">. Upstream in the calling application, there's an XML stream reader exception because (I assume) ExecuteResult is not found and parsed.
    >
    You pattern "./P2L:\*" matches just one element so it's ok that the payload's namespace wasn't touched. If you want to rename namespace for all elements try "//P2L:*". However, I'm not sure whether this is what you want. Try do describe what you do, what you want and what you get instead.
    >
    I also tried using a Replace action against "./P2L:ExecuteResponse/@xmlns" to replace its contents with "http://foo.com/namespace/proxy". I also tried "./P2L:ExecuteResponse/@P2L:xmlns". Neither worked.
    >
    I think it's not a good approach to replace content of xmlns as this attribute is not a common xml attribute.

  • WebService: The difference between Deployable proxy & Standalone proxy

    Hi all,
    The help document tell me the difference between Deployable proxy & Standalone is the former can be deploy while the latter can not.
    Now I know how to use a standalone proxy, but now I would like to call a ws in web application, I need a deployable one.
    After autogenerate, to my surprise, there's no implementation class in SEI!
    As know to all, if this proxy we call it 'zHello'
    as a standalone proxy, we have four files in SEI
    ZHellows.java
    ZHellowsService.java
    ZHellowsServiceImpl.java
    ZHellowsSoapBindingStub.java
    use the follow segment can do the job.
    ZhellowsService service = new ZhellowsServiceImpl();
    Zhellows hello = service.getLogicalPort();
    System.out.println(hello.zHello("testit"));
    but what I found in the SEI of a deplyable proxy is just 2 interface of them:
    ZHellows.java
    ZHellowsService.java
    This time I do not know how to use this proxy, shall I implement it first?

    Hi William,
    <a href="http://help.sap.com/saphelp_nw04/helpdata/en/45/f957507cb343f78e818c50620ed5ca/frameset.htm">Deployable versus Standalone Proxies</a>
    Best regards, Maksim Rashhcynski.

  • Unable to create standalone proxy(webservice) in SAP NWDS 7.3

    I have to consume webservice from third party system.
    1. I have imported the WSDL.
    2. I selected the Java DC and trying to generate client , but getting message like "Specified project is a java project"
    From Hook DC i have to call webservice that's why going for standalone proxy.

    Hi Akhilesh,
    Were you able to resolve this issue. If yes, please let us know as we are also facing the same issue.
    We've even tried with J2ee DC, but in that case we are getting some other issue.
    BR,
    Anurag

  • Integrate Standalone Proxy into EJB-Module

    Hello,
    I want to integrate a webservice-call into a standalone EJB-Method.
    Therefore I have created a standalone proxy DC and added public parts of type "assembly" and of type "compilation".
    After creating a DC of type EJB-Module I reference the standalone proxy as used dc in my new EJB-Module project.
    I CAN build the new EJB-Module DC. However when I look at the generated jar-file, the classes of the standalone proxy ARE NOT included.
    Therefore (after generating a DC of Type EAR-Project) the deployment process returns with an error as referenced classes of the webservice proxy cannot be loaded. All EJB-Classes are included
    in the EAR-File, but classes of the standalone proxy are missing.
    Does anybody know in which way have to reference the webservice libraries (=the webservice standalone-proxy) so that they are included in my EJB-JAR-File?
    PS: I don't want to replace the standalone proxy by a deployable proxy, if that is possible!
    Thanks for your help!
    Andreas

    Hi Andreas,
    here a link for more information:
    <a href="http://help.sap.com/saphelp_nw2004s/helpdata/en/87/5305adc23540b8ac7bce08dbe96bd5/frameset.htm">http://help.sap.com/saphelp_nw2004s/helpdata/en/87/5305adc23540b8ac7bce08dbe96bd5/frameset.htm</a>
    Regards,
    Boris

  • Error When Creating Deployable Client Proxy

    I've created a WSDL file from the XI Integration Directory (Tools--> Define Web Service). I then tested this with XMl Spy and VB.NET. They worked fine.
    I then used NWDS (SP13) to create a deployable client proxy. When building the client definition NWDS returned the error <b>"Problem When Generating the Proxy Definition!".</b>
    1. Are there any log files that would be helpful in deciphering the error message?
    2. Should I take this one to SAP. The WSDL is rather long and complex but it is based on XSD from a large national project and the other tools seem to be able to handle it fine.
    Thanks!

    Hi Paul,
    What adapter you havwe used in XI for this?
    It should be SOAP adapter.
    Regards,
    Bhavik

  • Standalone proxy client, uknown source!

    Hello experts,
    I am working on a simple standalone java client to test a web service. When I run, I get following stack trace:
    at $Proxy18.salesOrderCreateOut(Unknown Source)
         at test.StandaloneClient.main(StandaloneClient.java:58)
    Caused by: javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file:  java.naming.factory.initial
         at javax.naming.spi.NamingManager.getInitialContext(Unknown Source)
         at javax.naming.InitialContext.getDefaultInitCtx(Unknown Source)
         at javax.naming.InitialContext.getURLOrDefaultInitCtx(Unknown Source)
         at javax.naming.InitialContext.lookup(Unknown Source)Here is the code:
         public static void main(String[] args) {
              // TODO Auto-generated method stub
              try {
                   SalesOrderCreateOutService service = new SalesOrderCreateOutService();
                   SalesOrderCreateOut servicePort = service.getSalesOrderCreate_Out_Port();
                   javax.xml.ws.BindingProvider bp = (javax.xml.ws.BindingProvider) servicePort;
                   Map<String, Object> context = bp.getRequestContext();
    //               context.put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY, "<URL>.wsdl");
                   context.put(BindingProvider.USERNAME_PROPERTY, "USER");
                   context.put(BindingProvider.PASSWORD_PROPERTY, "PWD");
                   SalesOrderResponse response = null;
                   Project salesOrderCreateRequest = new Project();
                   Header header = new Header();
                   header.setTitle("EAST COAST SHEET METAL MOTOR WARRANTY");          
                   salesOrderCreateRequest.setHeader(header);
                   try {
                        response = servicePort.salesOrderCreateOut(salesOrderCreateRequest);
                   } catch (SalesOrderError_Exception e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                   TRETURN treturn = response.getTRETURN();
                   Iterator ls = treturn.getItem().iterator();
                   while(ls.hasNext()){
                        TRETURN.Item tempItem = (TRETURN.Item)ls.next();
                        System.out.println(tempItem.getMESSAGE());
                        break;
              } catch (MalformedURLException e) {
                   // TODO Auto-generated catch block
                   e.printStackTrace();
    Exception is at the bold line.
    Any clues, how to fix this...

    Hi,
    Deployable versus Standalone Proxies
    SAP Web AS Java provides two types of Web service proxies:
    deployable proxy u2013 a Web service client that must be deployed on the J2EE Engine as an application.
    standalone proxy u2013 a Web service client that generates stubs and runs without the J2EE Engine. This proxy can be used only with the release for which it has been generated.
    Although both proxies have similar functions, there are some fundamental differences.
    For the standalone proxy, a stub must be generated and the names and class names of the transport bindings, protocols, and transports that are used must be provided. The drawbacks of this approach are that if a name of a component is changed or requires some modifications, the stub is no longer valid and the whole proxy needs to be regenerated.
    On the other hand, with the deployable proxy all information is either generated during deployment or is retrieved at runtime. Therefore, the deployable proxies are to a certain degree protected from runtime changes.
    For both types of proxies, ServiceInterface and ServiceImpl classes are generated. Their names are derived from the service name of the WSDL that is used to generate the particular proxy.
    For the deployable proxies, only the ServiceInterface is generated at the design time. The client assigns a JNDI name under which the ServiceImpl instace is bound at runtime. The JNDI name is relative to the java:comp/env/ context, which is the default for all J2EE components.
    // for Deployed WS Clients
    import javax.naming.InitialContext;
    InitialContext ctx = new InitialContext();
    FooServiceInterface fsi = (FooServiceInterface)ctx.lookup(u201Cjava:comp/env/FooServiceu201D);
    At deployment, the service implementation and the service stub are generated. To take the service implementation for the standalone proxy, the generated class must be instantiated:
    FooServiceInterface fsi = new FooServiceInterfaceImpl();
    Regards
    Surender Dahiya

  • Regarding Standalone proxy and deploayable proxy

    Dear Frds
    I want to know abt Standalone proxy and deploayable proxy??
    Where are the above used?
    In which sceniaria i should use them..
    I tried to create a project using Standalone proxy and deploayable proxy but after creating it
    i got some doubts how to write client program to acess proxys and where will they be used ??
    Thanks in advance
    ShravanG

    Hi,
    Deployable versus Standalone Proxies
    SAP Web AS Java provides two types of Web service proxies:
    deployable proxy u2013 a Web service client that must be deployed on the J2EE Engine as an application.
    standalone proxy u2013 a Web service client that generates stubs and runs without the J2EE Engine. This proxy can be used only with the release for which it has been generated.
    Although both proxies have similar functions, there are some fundamental differences.
    For the standalone proxy, a stub must be generated and the names and class names of the transport bindings, protocols, and transports that are used must be provided. The drawbacks of this approach are that if a name of a component is changed or requires some modifications, the stub is no longer valid and the whole proxy needs to be regenerated.
    On the other hand, with the deployable proxy all information is either generated during deployment or is retrieved at runtime. Therefore, the deployable proxies are to a certain degree protected from runtime changes.
    For both types of proxies, ServiceInterface and ServiceImpl classes are generated. Their names are derived from the service name of the WSDL that is used to generate the particular proxy.
    For the deployable proxies, only the ServiceInterface is generated at the design time. The client assigns a JNDI name under which the ServiceImpl instace is bound at runtime. The JNDI name is relative to the java:comp/env/ context, which is the default for all J2EE components.
    // for Deployed WS Clients
    import javax.naming.InitialContext;
    InitialContext ctx = new InitialContext();
    FooServiceInterface fsi = (FooServiceInterface)ctx.lookup(u201Cjava:comp/env/FooServiceu201D);
    At deployment, the service implementation and the service stub are generated. To take the service implementation for the standalone proxy, the generated class must be instantiated:
    FooServiceInterface fsi = new FooServiceInterfaceImpl();
    Regards
    Surender Dahiya

  • Fault message handling in abap client proxy

    Hi experts,
    i have scenario like this SAPECC---XI---WEBservice
    i was decided to using the ABAP CLIENT proxy in sender side and soap adapter communication in receiver side
    i will be get the wsdl file form client
    problem is i am in bit of confusion like  am i need to create fault message for this asychronous scenario?
      how can i create the fault message for this scenario(that WSDL) and how the abaperwill  handle those error
    thanks in advance

    Hi.
    You can use fault message but it won´t return a error to your ABAP Proxy because your interface is ASSYNC. The fault message generated will stop in Adapter Engine.
    If you need a return of the error, you have to change your interface to Sync mode.
    To get more information, follow the link below:
    Fault Message Type
    http://help.sap.com/saphelp_nwpi711/helpdata/en/dd/b7623c6369f454e10000000a114084/frameset.htm
    Best Regards.
    Bruno

  • Configuring Standalone Proxy with Enterprise Portal Application

    Hi All,
    I am attempting to set up a standalone proxy DC for use inside of an enterprise portal application DC (deployable).  I successfully created the standalone proxy and I created an API public part as well as an SDA public part, both of which contain all of the classes from the standalone proxy.  In my deployable portal application, I have included both of these public parts in the Used DCs.  At compilation, everything is fine, and NWDS recognizes the API and does not give any errors with references to the proxy classes while coding or building the application.  However, after deploying and running the application, I receive a NoClassDefFound error for the proxy classes at runtime.  I have worked with using APIs/SDAs a lot in other types of DCs (EARs, WebDynpro, etc.), and simply including the SDA as part of the used DCs has always worked fairly simply, however I am still relatively new to using Portal Application DCs, so I am not sure if I am doing something incorrectly in this situation.  Any light you could shed on the situation would be a great help.  Thanks.

    Hello-
    I believe you need to do the following.  In your standalone DC, create two public parts, one for compiliationand one for assembly (the two radio buttons on the first screen when you create public part wizard).
    Then in your PAR Standalone DC, reference both public parts as used DCs.  The jar file from the Standalone Proxy DC will be packaged into the EP Build results and deployed with the PAR file.
    Let me know if this works for you.
    Thanks,
    Marty

  • Public Part : Deployable Webservice Proxy DC

    Hi All,
    I have a deployable Webservice Proxy DC, which is used to create webservice proxy. I am using those webservice proxy in my Portal application. May I know what needs to be defined in public part of webservice proxy dc, so that I can use it as used dc in portal DC?
    Best Regards,
    Priyanka

    Hi Anand,
    Thanks for your response. I have already checked that object for null - it is not. The problem is I dont have this SECQANDAImpl class that implements the SECQANDA interface in my DC. This implementation class gets generated when I deploy the deployable proxy object. Though I should be able to cast to the interface, it is throwing this error. Any other ideas?
    Giri.

  • How do I move files from my iMac to my Airport without getting 'AirPort can not be modified' message. File sharing is enabled and I'm not getting asked for a password. Thanks

    How do I move files from my iMac to my Airport without getting 'AirPort can not be modified' message. File sharing is enabled and I'm not getting asked for a password. Thanks

    What OS are you running.. this is usually only a problem in Mavericks.
    If so I recommend you mount the hard disk manually..
    Use Go, Connect to server.
    Type in the IP address if static.. eg
    AFP://10.0.1.1
    Or the name.. but you will have issues unless the name is short, no spaces and pure alphanumeric.. if you are using bad names.. fix it by a full factory reset in airport utility and give it all names that comply to the above.
    Type in
    AFP://TCname.local Where TCname is replaced with the actual name.
    You will be asked for the password the first time which is public unless you changed it.. please remember to save this in the keychain.
    Copy files then to a new directory you create on the TC.. do not place files inside the TM sparsebundle. Nor directly under the main directory.

  • How can I disable messages generated by Remote Panel?

    I created an application (EXE) to server its panel to other network clients.
    I used the Tools > Web Publishing Tool to generate a HTML code to create two different web pages to access this application using Web server:
    - Embedded (for some users who need visualize the panel in real time).
    - Monitor (to display panel snapshots to users updated every 1 second).
    I don't need anyone controlling the remote panel, so I used this option:
    Tools > Options > Web Server: Browser Access and checked Allow Viewing (not controlling) for every client connected.
    Ok, both are working fine. But it a user try to Request control of VI on the Embedded page (right click in the remote panel), the application running in the server displays a message: Denied control request from XXX: Check permissions.
    The embedded page stills working fine, but in the Monitor page that message appears in a box (see attached picture below)..
    Is there a way to disable all messages in the remote panel? I realized that I need to access the computer where the application EXE is running to close the message.
    I'm thinking in two solutions:
    - Unable the right click menu in the embedded page to avoid clients request control of the remote panel.
    - Run a code in the application to erase messages generated.
    Has anyone an idea how to solve this?
    Thanks in advance,
    Klein
    Message Edited by Klein on 08-06-2008 12:54 PM
    Attachments:
    Remote Panel message.jpg ‏10 KB

    Hi Dpcamargo,
    I'm already using monitor with a delay of 1 second and this doesn't seems real time like remote panel visualization.
    But you sent me a good tip: use java code to cancel right clicks at all....
    I will try this solution. 
    Hey, we are both brazilians! So, thank you so much, Dpcamargo.

  • Error message generating Adobe Air output Unable to build a valid certificate chain for the signer

    error message generating Adobe Air Output: Unable to build a valid certificate chain for the signer.

    Are you talking about AIR Help produced by RoboHelp or an AIR application that you are creating?
    If the latter, please see the notice at http://forums.adobe.com/community/robohelp/airhelp
    If you are using RoboHelp, which version?
    See www.grainge.org for RoboHelp and Authoring tips
    @petergrainge

  • Warning on PO Saving: No message generated for output of purchasing documen

    The following message is coming while saving the Purchase Order.
    No message generated for output of purchasing document
    Message no. 06261
    Diagnosis
    The system was not able to find a message record via the message determination schema. Therefore it was not possible for such a record to be generated for this purchasing document. In consequence, the purchasing document cannot be outputted (printed or transmitted).
    Procedure
    The message determination process should be checked and, if necessary, corrected.
    The message record can be created manually for this document. For this purpose, choose the function "Messages" in the menu "Header" and maintain the necessary data.
    Please guide.
    Regards,
    Aditi

    Hello Aditi,
    In messege determination necessary data is not maintained. Goto
    MN04, select output type as NEU, then click on key combination and select the last option, then select document type as NB and FUNC as VN and put medium as 1 and in Date / time field 4, language EN and SAVE the data.
    This will solve the problem.
    Regards.
    Sanjay

Maybe you are looking for

  • Why am I missing pieces when printing in Illustrator?

    I have a very complex file with many paths and layers.  When I print, all of the complex shapes print just fine but I'm missing two white boxes.  I have tried to recreate them and move them but nothing seems to work. I have printed directly from Illu

  • Can't get music to play on iPad air

    Yesterday I got an iPad air as an early Christmas present. Hooray! However, I put close to 3000 songs on it yesterday, and only around 200 of them will play. I'm assuming this is because 99% of my music was NOT purchased through iTunes. Is this the c

  • Spotlight preferences not saved

    When I uncheck items in System Preferences/Spotlight/Search Results, my changes are not saved.  Spotlight continues to search for  categories I unchecked and when I open the Search Results preference window again, everything is still checked.  What g

  • Open PDF file from SAP ?

    Hi gurus, Is there any FM or command that We can open a pdf file from our computer , This means that Open pdf with Acrobat reader but will be triggered in ABAP . Thanks

  • Why won't my songs play in numerical tracks order?

    I have an album with about 30 songs on it, and some of those songs came from different sources. I changed all of the items on "Get Info" so that they would match, (album title, artist, album artist, composer, track number, disc number, compilation, e