How to get original message in web service implementation and proxy

Hi,
We have a java web service and its client (proxy) generated from WSDL by JDev wizards. All the parameters are mapped to classes, but we need a way to get the original message we send and receive in order to log it.
Is there any way to get the SOAP message that is being sent/received?
Thank you

If you are using 10.1.3 or later releases, you can use the JAX-RPC handler to gain access to the message. Your SOAP payload can then been manipulated using the SAAJ APIs. You have also the option to log messages directly from OWSM.
Best,
-Eric

Similar Messages

  • How to get value in a web page automatically  and sava output in database

    how to get value this table output is
    row 1, cell 1
    row 1, cell 2
    row 2, cell 1
    row 2, cell 2
    <table border="1">
    <tr>
    <td>row 1, cell 1</td>
    <td>row 1, cell 2</td>
    </tr>
    <tr>
    <td>row 2, cell 1</td>
    <td>row 2, cell 2</td>
    </tr>
    </table>

    Note: This thread was originally posted in the [Java Technologies for Web Services|http://forums.sun.com/forum.jspa?forumID=331] forum, but moved to this forum for closer topic alignment.

  • RWB - Integration Engine self test - web service security and proxy

    Hi,
    I am working with a new installation of PI 7.0. In the runtime workbench, under self test for integration engine, there is this error/warning:
    ""Details for 'Is Web service security available?'
    Communication error: Proxy calls are not permitted on sender or receiver side on the IS (client)""
    What exactly is the problem? Is there any additional configuration needed within PI to use proxies? We do not have the cryptographic toolkit installed. Is that nesseccary to work with proxies? We have done several other scenarios with RFC, MAIL, HTTP, etc and they work fine. If anyone else had this problem and managed to fix it, please let me know..
    Thanks,
    Lasya

    You can ignore this error. It is  simply a warning that says message level security has not been configured. Without message security too, you can do proxy communication.
    But, if you want to configure messag level security, go through XI Config guide section 12.4.
    Message was edited by: Jay

  • Web Service  implementation and consumer in different version

    Currently we have a Web Service which is written in J2EE 5 and this web service are consumed by Web Application written in 1.4
    We are using SOAP for connection and JAXB API for parsing. We could like to know if there is any issue which could arise because of the difference in the version of the JDK used by the consumer?
    Assuming that there is a reverse communication happening between J2EE 1.4 and J2EE 5 what are the issue which could arise?
    Edited by: Sanu Sasidharan on Apr 11, 2011 5:31 AM

    If understand the question correctly, the versions of Java used by the server & client are irrelevant.
    A Web service can be consumed even by apps written in another language (C++, for example). The only requirement is that the client send requests to the correct address, and that requests be valid according to whatever XML schema the service uses.

  • How to get JSON item in web service workflow?

    Im tried to get json item in workflow,But was unable to obtain "RtnCode",how to do it?
    This my JSON,
    "MerchantID": "1032017",
    "RtnCode": "2",
    "RtnMsg": "Get Succeeded",
    My workflow :
    Get RtnCodefrom
    Variable: DealItems
    Error code:
    RequestorId: f85b0795-6682-fde7-0000-000000000000.
    Details: An unhandled exception occurred during the execution of the workflow instance.
    Exception details: System.InvalidOperationException: Looking up a value using a key is not supported on an instance of 'Microsoft.Activities.Dynamic.DynamicPrimitive'. at Microsoft.Activities.Dynamic.DynamicItem.TryGetValue(String key, DynamicItem&
    value) at Microsoft.Activities.Dynamic.DynamicValueBuilder.PathSegmentFactory.ObjectPathSegment.Get(DynamicItem obj) at Microsoft.Activities.GetDynamicValueProperty`1.Execute(CodeActivityContext context) at System.Activities.CodeActivity`1.InternalExecute(ActivityInstance
    instance, ActivityExecutor executor, BookmarkManager bookmarkManager) at System.Activities.Runtime.ActivityExecutor.ExecuteActivityWorkItem.ExecuteBody(ActivityExecutor executor, BookmarkManager bookmarkManager, Location resultLocation) Exception from activity
    GetDynamicValueProperty<String> Start Sequence Flowchart Sequence Pay.WorkflowXaml_07f732da_c82a_4234_abd5_34c32c637413

    Hi Felaray,
    I have a similar issue and what I tried to do is to install JSON.NET in my project and used the "Assign" activity (under "Primitives" category on the toolbox) to assign the string to an object:
    Newtonsoft
    .Json.JsonConvert.DeserializeObject(resultFromCustomActivity)
    but unfortunately did not work. I am getting this exception:
    Visual Studio 2013 Workflow: Failed to translate expression because of the following error: Translating the method or one of its overloads to an activity is not supported
    If you cannot really change the source header, you might need to create a code custom activity and pass in your string and use JSON.NET, parse it and return what you want.
    Another "easier" option might involve doing some nasty parsing (using the Assign Activity) by finding the index of your "RntCode:" and getting the next set of characters before the comma. Since the .NET classes to utilize are limited
    it would be worth trying to use a RegEx
    resultFromCustomActivity
    .Substring(0,
    10)

  • How to get a doc//literal web service with JWSDP1.3

    I can build a rpc/encoded service (based the tutorial),
    but I need a doc/literal.
    Because I have a J2ME client.
    How can I do it?
    thanks

    Do you want to see if Arun's white paper helps you? I checked and he talkks about this at the end of his first scenario, at https://jax-rpc.dev.java.net/whitepaper/1.1/index-part2.html#Scenario1.
    - eduard/o

  • How to get Original Message ID from the MDN of Acknowledgment?

    Hi,
    Here is the usecase...
    Host Trading Partner: ABCHost (Host)
    Trading Partner: XYZPartner
    Transport Protocol: HTTP1.1
    Exchange Protocol: AS2
    Business Protocol: Custom Document over Internet
    There are 1000s of messages sent via B2B to the Trading partner and the Acknowledgement is received. Now that the Trading Partner system receives a lot of messages per day, they are asking us to give them the MDN Ids from the Acknowledgment they sent in order to find the transaction.
    Is there a way to generate a report to do that using the Timestamp, Business Action, Sending/Host Trading Partner, AS2 Identifiers etc.?
    If not thru' the B2B Console, is there a way to write a query to run on the backend to generate the report?
    Thanks
    Bala

    Hi Bala,
    You can see the details of MDN in the B2B repository in the view "b2b_instancemessage" or in the table "tip_businessmessage_rt".
    You can refer InstanceMessageUtil (http://download.oracle.com/docs/cd/B14099_19/integrate.1012/b19324/oracle/tip/adapter/b2b/utility/InstanceMessageUtil.html).
    Rgds,
    Nitesh Jain
    [email protected]

  • Web Service authentication and PROXY Issue

    HI All,
    Recently I developed an application in Flex 2 which uses
    webservices to access remote data.One more point to be noted, that
    these webservices are secured( i.e they need username and password
    to access)
    I got a production server ( say
    myProduction server) and all my webservices are deployed on
    it. We have a SAP portal running on this server. I have created a
    PAR file of my applications .SWF file and hosted it on the portal.
    When I run my application from myProduction, it runs fine, no
    issues with it.
    Now, I have a proxy server ( say
    myProxy server), which is used to make my application
    available on the internet.
    This proxy redirects all the requests to myProduction server.
    When I try to run my application from myProxy Server, I am
    getting the following error:
    [RPC Fault faultString="Security error accessing url"
    faultCode=
    Channel.Security.Error"
    faultDetail="Unable to load WSDL". If currently online,
    please verify the URI and/or format of the WSDL (
    http://myProduction:50000/WS_Resource/Config1?wsdl&style=rpc_enc)"
    at mx.rpc.soap::WSDLParser/::dispatchFault()
    at mx.rpc.soap::WSDLParser/
    http://www.adobe.com/2006/flex/mx/internal::httpFaultHandler()
    at
    flash.events::EventDispatcher/flash.events:EventDispatcher::dispatchEventFunction()
    at flash.events::EventDispatcher/dispatchEvent()
    at mx.rpc::AbstractInvoker/
    http://www.adobe.com/2006/flex/mx/internal::dispatchRpcEvent()
    at mx.rpc::AbstractInvoker/
    http://www.adobe.com/2006/flex/mx/internal::faultHandler()
    at mx.rpc::Responder/fault()
    at mx.rpc::AsyncRequest/fault()
    at ::DirectHTTPMessageResponder/securityErrorHandler()
    at
    flash.events::EventDispatcher/flash.events:EventDispatcher::dispatchEventFunction()
    at flash.events::EventDispatcher/dispatchEvent()
    at flash.net::URLLoader/flash.net:URLLoader::redirectEvent()
    Do I need any configuration files to be maintained? How do I
    resolve this proxy issue??
    myProxy server is not able to load the WSDL from
    myProduction.I am not usinfgFlex Data Services. I am directly
    accessing the services.
    If anyone knows about this issue please help me. Any help
    would be greatly appreciated.
    This issues has been unresolved since 15 days now.
    Thanks in advance

    Hi,
    I am not sure if what I am suggesting may be the source for
    the problem, but it could be that you will need a
    crossdomain.xml file deployed on your production server, so
    that it can accept the requests from the Portal. Also, I guess you
    will be using a
    flex-config.xml or
    services-config.xml. Just make sure that all server paths
    have been properly mapped to the values entered in the destination
    attributes of the WebService tags.
    I hope that helps.

  • I am trying to download ITunes.  I get the message during starting services - Service "Apple Mobile Device" failed to start. Verify that you have sufficient privileges to start system services.  How do I verify?

    I am trying to download ITunes.  I get the message during starting services - Service "Apple Mobile Device" failed to start. Verify that you have sufficient privileges to start system services.  How do I verify?  How do I complete the installation?

    Does anyone knows how to fix this problem?

  • How to connect to database in web service??

    Hi all,
    How to connect to database in web service ? Can anyone give some advice what kind of database should i use? thanks

    No difference. Just connect as usual!
    Let me give you an example:
    Code to connect to postgresql db ...
    public Connection connectPostgresql(String servername, String dbname, String username, String password)
              Connection conn = null;
              try
                        // Load the JDBC driver
                        String driverName = "org.postgresql.Driver";
                        Class.forName(driverName);
                        // Create a connection to the database
                        String url = "jdbc:postgresql://" + servername +  "/" + dbname;
                        conn = DriverManager.getConnection(url, username, password);
                        return conn;               
              catch (ClassNotFoundException e)
                        // Could not find the database driver
                        return conn;
              catch (SQLException e)
                        // Could not connect to the database
                        return conn;
    }Code for an axis web service ...
    public Element[] updateProfile(Element[] params)
              String message = "";
              // get str 1
              Node node1 = params[0].getFirstChild();
              String str1= node1.getNodeValue();
              // get str 2
              Node node2 = params[1].getFirstChild();
              String str2= node2.getNodeValue();
              Connection conn = connectPostgresql ("localhost","myDatabase","myUsername","myPassword");
              // there is a method to insert these params to db
              boolean isInserted = insertParams(conn, str1, str2);
              if(isInserted )
                        message = "OK";
              else
                        message = "Not OK";
              // constructs an array of DOM Elements for message to send back to client
              SOAPBodyElement[] response = new SOAPBodyElement[1];
              response[0] = new SOAPBodyElement(XMLUtils.StringToElement("urn:foo", "e1", message));
              return response;
    }Gokce.

  • Getting started with a web service client

    I am trying to figure out how to create a web service client using NetBeans 6. I started with a class library for testing in Fitnesse. I've been using tutorials and Googling around but now I am stuck. I have added the JAX-RPC library; I am able to add a web service client to the project using the IDE; and I can view all of the objects and methods under "Web Service References" and compile the code; however, at runtime I get the error:
    java.lang.NoClassDefFoundError: javax/xml/rpc/Service
         at java.lang.ClassLoader.defineClass1(Native Method) ... etc.
    What am I missing?
    P.S., when I try to test any web service in the IDE I get an error like this:
    InvocationTargetException org.netbeans.modules.websvc.registry.ui.ReflectionHelper.callMethodWithParams(ReflectionHelper.java:540) org.netbeans.modules.websvc.registry.ui.TestWebServiceMethodDlg.invokeMethod(TestWebServiceMethodDlg.java:466) org.netbeans.modules.websvc.registry.ui.TestWebServiceMethodDlg.access$500(TestWebServiceMethodDlg.java:92) org.netbeans.modules.websvc.registry.ui.TestWebServiceMethodDlg$3.run(TestWebServiceMethodDlg.java:409) org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:561) org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:986) Next Exception Layer null sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) java.lang.reflect.Method.invoke(Method.java:597) org.netbeans.modules.websvc.registry.ui.ReflectionHelper.callMethodWithParams(ReflectionHelper.java:534) org.netbeans.modules.websvc.registry.ui.TestWebServiceMethodDlg.invokeMethod(TestWebServiceMethodDlg.java:466) org.netbeans.modules.websvc.registry.ui.TestWebServiceMethodDlg.access$500(TestWebServiceMethodDlg.java:92) org.netbeans.modules.websvc.registry.ui.TestWebServiceMethodDlg$3.run(TestWebServiceMethodDlg.java:409) org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:561) org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:986) Next Exception Layer Could not initialize class com.sun.xml.internal.messaging.saaj.soap.SAAJMetaFactoryImpl sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) java.lang.reflect.Constructor.newInstance(Constructor.java:513) java.lang.Class.newInstance0(Class.java:355) java.lang.Class.newInstance(Class.java:308) javax.xml.soap.FactoryFinder.newInstance(FactoryFinder.java:38) javax.xml.soap.FactoryFinder.find(FactoryFinder.java:165) javax.xml.soap.SAAJMetaFactory.getInstance(SAAJMetaFactory.java:61) javax.xml.soap.MessageFactory.newInstance(MessageFactory.java:127) javax.xml.soap.MessageFactory.newInstance(MessageFactory.java:93) com.sun.xml.rpc.soap.message.SOAPMessageContext.getMessageFactory(SOAPMessageContext.java:200) com.sun.xml.rpc.soap.message.SOAPMessageContext.createMessage(SOAPMessageContext.java:131) com.sun.xml.rpc.client.StreamingSenderState. (StreamingSenderState.java:30) com.sun.xml.rpc.client.StubBase._start(StubBase.java:92) webservice.CountCheatServiceSoap_Stub.letterSolutionsMin(CountCheatServiceSoap_Stub.java:54) webservice.CountCheatServiceClient.countcheatservicesoapLetterSolutionsMin(CountCheatServiceClient.java:26) sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) java.lang.reflect.Method.invoke(Method.java:597) org.netbeans.modules.websvc.registry.ui.ReflectionHelper.callMethodWithParams(ReflectionHelper.java:534) org.netbeans.modules.websvc.registry.ui.TestWebServiceMethodDlg.invokeMethod(TestWebServiceMethodDlg.java:466) org.netbeans.modules.websvc.registry.ui.TestWebServiceMethodDlg.access$500(TestWebServiceMethodDlg.java:92) org.netbeans.modules.websvc.registry.ui.TestWebServiceMethodDlg$3.run(TestWebServiceMethodDlg.java:409) org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:561) org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:986)
    Edited by: pjpark on Dec 26, 2007 1:33 PM

    I was able to get the web service client to work in Windows XP by following the same steps I was using in Windows 2003 x64. I did not need to add anything to the Class Path in XP to run the test application and execute a web service method; however, NetBeans would not give me the option to test the web method from the IDE.
    I will try re-installing java and netbeans on the 64 bit server and see if that helps.

  • Message-based web service

    We are using CF 7.01 and have been successful in consuming
    web services in the past. We are unsuccessful however in consuming
    a web service where the client says is using a message-based (aka
    document style) web service. We are entering thier system but we
    error out in our attempt to access thier web service.
    In the cfcomponent I have even tried using style="document"
    but we are still erroring out. The nature of the error message at
    our end shows:
    -- start of error message...
    Message: Could not generate stub objects for web service
    invocation.
    Detail: Name:
    https://integrationdev.peopleclick.com/soap/echo. WSDL:
    https://integrationdev.peopleclick.com/soap/echo. WSDLException (at
    /SOAP-ENV:Envelope): faultCode=INVALID_WSDL: Expected element '{
    http://schemas.xmlsoap.org/wsdl/}definitions'.:
    It is recommended that you use a web browser to retrieve and
    examine the requested WSDL document for correctness. If the
    requested WSDL document can't be retrieved or it is dynamically
    generated, it is likely that the target web service has programming
    errors.
    -- ...end of error message.
    The message insinuates a WSDL problem. I understand
    message-based web services don't use a WSDL. Must I remove
    something from our standard RPC-based web service configuration?
    Thanks in advance.
    Dev

    hi all,
    UPDATE:
    i have some how managed to handle my error at both REQUEST MESSAGE peoplecode and at HANDLER peoplecode. Tested the webservice using SOAPUI tool. After passing all inputs required, the customer is not created and i am getting a blank response message which should contain the SETID and CUST_ID as response. Please help me out whether i am missing any Key part in creating a CUSTOMER. Note, i haven't written any Peoplecode for creation and i am also not aware how to do the same or where to write the logic for it.
    Kindly bare with me and do help me out as i m struck with it for long. Thanks in advance

  • How to use Axis to access a web service through Authentication  proxy

    Using axis access internat web service is success,but access a web service through Authentication proxy is failure.But other java classes connect through a proxy to the internet which works very well:
    please help me ,thank you!!!
    import org.apache.axis.client.Call;
    import org.apache.axis.client.Service;
    import javax.xml.namespace.QName;
    //this is my access webservice faliure   codes
    public class TestClient
       public static void main(String [] args) {
           try {
                System.getProperties().setProperty("http.proxySet", "true");
                System.getProperties().setProperty("http.proxyHost","proxy.com");
                System.getProperties().setProperty("http.proxyPort", "8080");
                System.getProperties().setProperty("http.proxyUser", "username");
                System.getProperties().setProperty("http.proxyPassword","password");
               String endpoint =
                        "http://nagoya.apache.org:5049/axis/services/echo";
               Service  service = new Service();
               Call     call    = (Call) service.createCall();
               call.setTargetEndpointAddress( new java.net.URL(endpoint) );
               call.setOperationName(new QName("http://soapinterop.org/", "echoString") );
               String ret = (String) call.invoke( new Object[] { "Hello!" } );
               System.out.println("Sent 'Hello!', got '" + ret + "'");
           } catch (Exception e) {
               System.err.println(e.toString());
       }I get an "(407)Proxy authorization required" error?

    I am also looking for a solution. Does any one know how to do through code instead of jvm settings?
    Thanks in advance!

  • 'Payload not Serializable' with custom WSDL data types in message-style web service

    I'm implementing a message-style web service which publishes to a JMS Queue.
    I had the web service built and deployed, but noticed that the "sendRequest" message's
    part was of type "xsd:anyType." This is not specific enough for our interface,
    since it is externally facing and needs to describe the object we're expecting
    on the back end.
    So I replaced xsd:anyType with mynamespace:MyType, which is defined as a complex
    type in the same WSDL document.
    My problem is that when I test the web service with the new WSDL (using the client.jar),
    I get a server-side exception from the DestinationSendAdapter.doPost() method.
    The exception reads:
    javax.servlet.ServletException: Payload not Serializable
    at weblogic.soap.server.servlet.DestinationSendAdapter.doPost(DestinationSendAdapter.java:129)
    The domain object ('classic' JavaBean) that it should map to on the server side
    extends a class that implements Serializable, so it should inherit the trait.
    So my questions are:
    1) Did I properly go about trying to restrict the object type that gets sent to
    my Destination?
    2) If no, what is the correct way? If yes, why am I receiving the Payload not
    Serializable error if the domain object implements Serializable?
    Thanks in advance.

    Resolved:
    Apparently this is the right approach, as it boiled down to a classpath issue
    on the client-side. Thanks anyway.

  • How to get SOAP Message while Request in WebService.. ?

    i am working on Web Logic WebService. I have created Web service and deployed into server.
    But now is there any ways to get the SOAP Message while request because i want to add some headers to the my SOAP Message before it sent to the backend.
    SOAPMessageContext smc=null;
    SOAPMessage soapMsg = smc.getMessage();
    System.out.println("SOAP MESSAGE :"+soapMsg);
    But I am getting NullPointerException.
    any Help ??...
    ThankQ.
    Ajay

    Hi
    In your code the NullPointerException is expected as the message context is null and not initialized before you call getMessage method on it.
    You can use soap handlers (client/server side handlers) to add the headers to the message before it is sent to the server.
    Soap handler has methods like below in which you can add the headers.
    * Handles incoming web service requests and outgoing callback requests
    public boolean handleRequest(MessageContext mc)
    System.out.println("Soap message is: \n " +
    ((SOAPMessageContext)mc).getMessage() + "\n");
    return true;
    More docs at http://e-docs.bea.com/wls/docs100/webserv_adv/handlers.html
    Vimala-

Maybe you are looking for