SoapUI - Automatic client generation with custom headers in request methods - java

I need to add custom headers into my requests to a web service soap.
Using SOAPUI (with axis2) I have created the client application (Java) that invokes a Web Service.
Autogenerated methods does not give the opportunity to add custom headers to the requests.
But I need to update my client application by adding client-side SOAP message some custom headers to these autogenerated request methods.
So, I've added this to my wsdl:
<soap:Header>
<header1>value1</header1>
<header2>value2</header2>
<header3>value3</header3>
</soap:Header>
And tried again to generate client code. Unfortunately it didn't work, my methods still don't give me the ability to add headers.
Is it possible to do this automatically using SOAPUI? Maybe with some option while setting client code generation...
I hope I've been clear in explaining the problem.
Thanks for any help!

Related

Post Request Payload to SOAP Webservice using Java

Using request payload, web service, operation names, soap action and all the required details, I need to invoke a soap web service. This has to be done without generating the proxy and any other classes.
I get the request payload as a String, corresponding webservice and operation details to my program and I need to directly post the payload to the webservice by attaching the required webservice policy.
Please suggest the way to achieve it. Kindly let me know if it is not clear
Thanks

WSDL2JAVA for simple http get on php page?

I have to request a PHP page with 3 Parameters (e.g. www.test.com/index.php?name=mrTest&no=1&id=10001). I'm using WSDL2JAVA for other Services and am now wondering if it is possible to generate a similar Service for this case. This PHP page Returns an XML. I'm just consumer/client of the Service.
I could also make a simple request and then use JAXB to parse the XML but i would like to implement all my Services the same way.
So, does anybody has already implement a php page consumer using WSDL2JAVA?
Best regards
So from my understanding this is a simple PHP page not a SOAP service. Remember XML is just the protocol used in a SOAP service however a SOAP service consists out of a WSDL that is published describing operations and how to call those operations.
A simple PHP page even if it returns XML data is NOT a SOAP service and thus does NOT have a WSDL. You wont be able to use WSDL2JAVA for that.
This PHP page seems more like a REST type service that returns XML instead of JSON. To be honest it really sounds like a REST service.
Try using the latest SOAPUI to connect to the page and see if you can use the REST project type with this page. If it is a REST service it might have a WADL file. YOu can use the WADL2JAVA cxf utility to generate classes to you. HOwever this is a BIG might as most REST services dont use WADL's yet. See this link on CXF

How to use WSDL url to create a request for data

I have a WSDL url(http:localhost:8080/userdata?wsdl) and I want to create a request to this webservice so I can fetch the data for further processing. Can I do this without wsimport?
If I have to create package from wsimport, how I can create a client which will use generated classes to create the XML request?
If I can do this without wsimport , how I can create a client which will create the XML request?
New to webservices, links to documentation would be appreciated. I am trying to understand this at the moment http://java.dzone.com/news/5-techniques-create-web-servic
You can use CXF wsdl2Java to generate a client code for the web service.
Once you run the wsdl2java , you will get a set of java classes generated for you. You can then use those classes to call the services without any explicit conversion of XML - the underlying framework will do it for you automatically. You can start with http://cxf.apache.org/docs/how-do-i-develop-a-client.html
I proposed CXF while you can look for many other alternatives - However, i have found CXF to be very feature rich and will help you in developing/working with web services.
On top of what Akhilesh said you can also create a Dynamic client for invoking WSDL. I have done it recently and i found it a little bit better then using CXF as dynamic client does not generate any code whatsoever. You just pass in the parameters to it and it does all the job for you. You can find a "shell" to build your own client HERE

It there any standard way to redirect SOAP request?

The problem is following:
Some client tries to access an SOAP webservce
Webservice implementation anylizes request and comes to conclusion that it is not able to proccess the request itself. However, the webservice knows what some additional webservice should be called instead of one.
???
Client calls "additional webservice" like he did at step 1
It there any specific standard or technique for this?
Use the proper HTTP status code for redirection. A status of 303 See Other comes to mind.

CXF: getting SOAP request and response XML on the client-side

I'd like to have a CXF client which allows me to see the SOAP XML request made and response received.
Use case: I'm writing a test GUI for the service for people who don't have access to my CXF service's logs to get an idea what the SOAP requests need to look like and what gets returned. (Since the interface is rather complicated, a generic / dynamic GUI like SOAP UI isn't helpful).
I've already read about CXF interceptors and know how I could hook them to my client (one for the "receive" and one for the "send" phase). But I can't think of a way of making the interceptor pass the request/response XML somehow back to the client's request.
Any suggestions / ideas?
You should take a look at the code of org.apache.cxf.interceptor.Logging{In|Out}Interceptor.

Categories