Showing posts with label Web Service. Show all posts
Showing posts with label Web Service. Show all posts

30 June, 2016

How to test web service using command line curl

How to test web service using command line curl.


How to test web service using command line curl, is a very often requirement.

This is always very easy to call the web service via a java client,  but sometimes we need to call the service using curl.

One thing you know ? its really very tactical to  call the web service from terminal/command line using curl command.


I have  steps with sample example :-


You need to know the below things before calling the service via curl.

Service Endpoint - The web service endpoint you want to call.

Example - http://myserverip.mycorpnet.com.au:16500/NaaSAutomation/NaaSManageService

Operation Name - The operation name , you want to execute.

Example - readProviderRequest

SoapAction - The soap action defined in WSDL.

Example - SOAPAction:/NaaSAutomation/Resources/WSDLs/ESB/Service/NaaSManageService-service0.serviceagent/NaaSManageServicePortEndpoint0/ManageProviderRead

Create sample valid request xml for sending to the service.

Request.xml
------------------

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:dto="http://dto.service.myservice.networkservice.test.service.mycorp.com.au/">
   <soapenv:Header/>
   <soapenv:Body>
      <dto:readProviderRequest>
         <callerIdentity>myIdentity</callerIdentity>
         <dto:ProviderName>JDevelopersGuide</dto:ProviderName>
      </dto:readProviderRequest>
   </soapenv:Body>
</soapenv:Envelope>



Curl Command :-

curl --header "Content-Type: text/xml;charset=UTF-8" --header "SOAPAction:/NaaSAutomation/Resources/WSDLs/ESB/Service/NaaSManageService-service0.serviceagent/NaaSManageServicePortEndpoint0/ManageProviderRead" --data @Request.xml http://myserverip.mycorpnet.com.au:16500/NaaSAutomation/NaaSManageService



Response got from Curl :-



<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
   <SOAP-ENV:Body>
      <ns0:ManageProviderCreateRes xmlns:ns0="http://www.mycorpnet.com.au/NaaSAutomation/Resources/Schemas/CreateRequest.xsd">
         <ns0:response>
            <ns0:providerName>JDevelopersGuide</ns0:providerName>
            <ns0:createStatus>SUCCESS</ns0:createStatus>
            <ns0:rollbackInitiated>TRUE</ns0:rollbackInitiated>
         </ns0:response>
      </ns0:ManageProviderCreateRes>
   </SOAP-ENV:Body>
</SOAP-ENV:Envelope>



Hope it will help you.
Follow for more details on Google+ and @Facebook!!!

Find More :-

06 April, 2015

How to create a client jar from WSDL ?

There are many ways you can create the client.jar for your WSDL file . Using the below process you can create the client jar. But its not recommended to use for live project. For live project you need to create a project with maven structure and I will post that later. This can be used for testing purpose.

Open your linux/unix terminal and follow the steps below.


Step 1- Get the published WSDL.Use wsimport command to get the WSDL file. 

dev@optus-developer-desktop ~/temp/test $ wsimport -keep http://localhost:9001/myapps/TestApp?wsdl

dev@optus-developer-desktop ~/temp/test $ ls -ltr
total 16
drwxr-xr-x 3 dev dev 4096 Apr  5 10:52 au
drwxr-xr-x 3 dev dev 4096 Apr  5 10:52 webservice
drwxr-xr-x 4 dev dev 4096 Apr  5 10:52 org
drwxr-xr-x 3 dev dev 4096 Apr  5 10:52 types


Step 2- Create Jar file using jar command as below.


dev@javadevelopersguide-developer-desktop ~/temp/test $ jar -cvf client.jar .

.....
.....
.....
.....adding: org/javadevelopersguide/apps/com/resource/physicalresourcespec/ObjectFactory.class(in = 1568) (out= 627)(deflated 60%)
adding: org/javadevelopersguide/apps/com/resource/physicalresourcespec/PhysicalResourceSpec.class(in = 1205) (out= 500)(deflated 58%)
adding: org/javadevelopersguide/apps/com/resource/physicalresourcespec/package-info.class(in = 426) (out= 294)(deflated 30%)
adding: org/javadevelopersguide/apps/com/service/(in = 0) (out= 0)(stored 0%)
adding: org/javadevelopersguide/apps/com/service/servicespeccharacteristicvalue/(in = 0) (out= 0)(stored 0%)
adding: org/javadevelopersguide/apps/com/service/servicespeccharacteristicvalue/ServiceSpecCharacteristicValue.class(in = 1705) (out= 717)(deflated 57%)
adding: org/javadevelopersguide/apps/com/service/servicespeccharacteristicvalue/package-info.java(in = 289) (out= 199)(deflated 31%)
adding: org/javadevelopersguide/apps/com/service/servicespeccharacteristicvalue/ServiceSpecCharacteristicValue.java(in = 5228) (out= 855)(deflated 83%)
adding: org/javadevelopersguide/apps/com/service/servicespeccharacteristicvalue/ObjectFactory.java(in = 2190) (out= 705)(deflated 67%)
adding: org/javadevelopersguide/apps/com/service/servicespeccharacteristicvalue/ObjectFactory.class(in = 1711) (out= 639)(deflated 62%)
adding: org/javadevelopersguide/apps/com/service/servicespeccharacteristicvalue/package-info.class(in = 444) (out= 303)(deflated 31%)
adding: org/javadevelopersguide/apps/com/service/servicespeccharacteristic/(in = 0) (out= 0)(stored 0%)
adding: org/javadevelopersguide/apps/com/service/servicespeccharacteristic/ServiceSpecCharacteristic.java(in = 8623) (out= 1656)(deflated 80%)
adding: org/javadevelopersguide/apps/com/service/servicespeccharacteristic/package-info.java(in = 279) (out= 193)(deflated 30%)
adding: org/javadevelopersguide/apps/com/service/servicespeccharacteristic/ServiceSpecCharacteristic.class(in = 2805) (out= 1068)(deflated 61%)
adding: org/javadevelopersguide/apps/com/service/servicespeccharacteristic/ObjectFactory.java(in = 2095) (out= 695)(deflated 66%)
adding: org/javadevelopersguide/apps/com/service/servicespeccharacteristic/ObjectFactory.class(in = 1636) (out= 630)(deflated 61%)
adding: org/javadevelopersguide/apps/com/service/servicespeccharacteristic/package-info.class(in = 434) (out= 297)(deflated 31%)
...........
...........
...........
...........


dev@javadevelopersguide-developer-desktop ~/temp/test $ ls -ltr
total 1356
drwxr-xr-x 3 dev dev 4096 Apr 5 10:52 au
drwxr-xr-x 3 dev dev 4096 Apr 5 10:52 webservice
drwxr-xr-x 4 dev dev 4096 Apr 5 10:52 org
drwxr-xr-x 3 dev dev 4096 Apr 5 10:52 types
-rw-r--r-- 1 dev dev 1369704 Apr 5 10:56 client.jar


Now the client.jar is got generated, you can use this jar file and call the real published service.




Hope it will help you.