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,
LasyaYou 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 AMIf 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_34c32c637413Hi 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?
thanksDo 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
BalaHi 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 advanceHi,
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? 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? thanksNo 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 PMI 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. -
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.
Devhi 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.
AjayHi
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
-
How do you change out hard drives without losing all your software license keys
I have lots of cash tied up in software.
-
I have just installed v6.3 for Windows and am trying to run a hyperbuild simulation of a legacy (v6.2 UNIX) model. I suspect that I don't have everything configured right (path to C compiler???) I get the error message "can't find 'nmake'" during sim
-
Use of generics in the Map interface
After using Java 1.5 for a while, I've gotten pretty comfortable using generics and the collections framework. Very often, I depend on the new generics-related compiler warnings to guide me when I've made changes to my code. Recently, I missed a fair
-
When i try to download the adobe reader 10.1.3 update patch recommended by Secunia PSI, windows installer appears and say's "This patch package cannot be opened. Verify that the patch package exists and that you can access it, or contact the applicat
-
Can I have 2 itues account, one in switzerland and one in uk
can i have 2 itues account, one in switzerland and one in uk