I ran into few issues while working on
Accessing SOAP service from the WorkLight app blog entry and these are the solutions to those problems
First problem was i had to build the SOAP request in JavaScript manually for use in the HTTP Adapter class and since this code runs on server i was not able to debug it, and i was not sure what message is getting built. So i used the
WL.Logger.debug("SOAP Request " + searchContactRequest)
call in my Adapter code and then when i hit the adapter it did write this log statement in
\Worklight\server\log\server\server.log
directory like this
2012-03-29 15:40:30,469 DEBUG [developer] (pool-7-thread-2:0ad7210e-9ed8-4c58-9b38-853d1918131b) SOAP Request <soapenv:Envelope xmlns:q0="http://webspherenotes.com" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <soapenv:Header> </soapenv:Header> <soapenv:Body> <q0:searchContact> <arg0>at</arg0> </q0:searchContact> </soapenv:Body> </soapenv:Envelope>
The worklight server does take care of writing the response of the SOAP request into the same log file, so having
log enabled for
com.srndpt.adapters
helps
Also note that the WorkLight server takes care of converting the SOAP XML response into JSON
This is the response of my SOAP Service
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
- <S:Body>
- <ns2:searchContactResponse xmlns:ns2="http://webspherenotes.com">
- <contactList>
<contactId>1</contactId>
<email>sdpatil@gmail.com</email>
<firstName>Sunil</firstName>
<lastName>Patil</lastName>
</contactList>
- <contactList>
<contactId>2</contactId>
<email>patil.jiyas@gmail.com</email>
<firstName>Jiya</firstName>
<lastName>Patil</lastName>
</contactList>
- <contactList>
<contactId>3</contactId>
<email>patil.navyas@gmail.com</email>
<firstName>Navya</firstName>
<lastName>Patil</lastName>
</contactList>
</ns2:searchContactResponse>
</S:Body>
</S:Envelope>
The WorkLight server takes that response and converts it into JSON object and sticks it into Result element like this
{"responseID":"10","statusCode":200,"errors":[],"isSuccessful":true,"statusReason":"OK","Envelope":{"Body":{"searchContactResponse":{"ns2":"http://webspherenotes.com","contactList":[{"lastName":"Patil","contactId":"1","email":"sdpatil@gmail.com","firstName":"Sunil"},{"lastName":"Patil","contactId":"2","email":"patil.jiyas@gmail.com","firstName":"Jiya"},{"lastName":"Patil","contactId":"3","email":"patil.navyas@gmail.com","firstName":"Navya"}]}},"S":"http://schemas.xmlsoap.org/soap/envelope/"},"warnings":[],"info":[]}
1 comment:
Egmedi.com is online medical store pharmacy in laxmi nagar Delhi. You can Order prescription/OTC medicines online. Cash on Delivery available. Free Home Delivery
Online Pharmacy in Delhi
Buy Online medicine in Delhi
Online Pharmacy in laxmi nagar
Buy Online medicine in laxmi nagar
Onine Medical Store in Delhi
Online Medical store in laxmi nagar
Online medicine store in delhi
online medicine store in laxmi nagar
Purchase Medicine Online
Online Pharmacy India
Online Medical Store
Post a Comment