Magento 1.9.1.0, SOAP, WS-I compliant. i'm trying to update product qty, magento returns "success", qty stays as it was before (didn't changed). How to change product qty from SOAP ?
request:
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<catalogInventoryStockItemMultiUpdateRequestParam xmlns="urn:Magento">
<sessionId xmlns="">32efdfffb0f27f43f3ee0073a9351de3</sessionId>
<productIds xmlns="">
<complexObjectArray>9198</complexObjectArray>
</productIds>
<productData xmlns="">
<complexObjectArray>
<qty>17</qty>
<is_in_stock>1</is_in_stock>
</complexObjectArray>
</productData>
</catalogInventoryStockItemMultiUpdateRequestParam>
</s:Body>
</s:Envelope>
response:
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="urn:Magento">
<SOAP-ENV:Body>
<ns1:catalogInventoryStockItemMultiUpdateResponseParam>
<result>true</result>
</ns1:catalogInventoryStockItemMultiUpdateResponseParam>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
I just tried this and it worked
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:Magento">
<soapenv:Header/>
<soapenv:Body>
<urn:catalogInventoryStockItemMultiUpdateRequestParam>
<sessionId>ddaf6e2b9bf7055ae59b7cbeeca9c894</sessionId>
<productIds>
<!--Zero or more repetitions:-->
<complexObjectArray>764</complexObjectArray>
</productIds>
<productData>
<!--Zero or more repetitions:-->
<complexObjectArray>
<!--Optional:-->
<qty>9</qty>
<use_config_notify_stock_qty>1</use_config_notify_stock_qty>
</complexObjectArray>
</productData>
</urn:catalogInventoryStockItemMultiUpdateRequestParam>
</soapenv:Body>
</soapenv:Envelope>
Here are the results
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="urn:Magento">
<SOAP-ENV:Body>
<ns1:catalogInventoryStockItemMultiUpdateResponseParam>
<result>true</result>
</ns1:catalogInventoryStockItemMultiUpdateResponseParam>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Here is a screen shot of the updated qty
Related
I want to host a web-service which will return a response of
<soapenv:Envelope 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:Body>
<QcB2BQNBPaymentIntegrationBalUpdatePaymentPostingResponse xmlns="http://tempuri.org">
<response xmlns:b="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<b:string>QCP-0031312;158155421123</b:string>
</response>
</QcB2BQNBPaymentIntegrationBalUpdatePaymentPostingResponse>
</soapenv:Body>
</soapenv:Envelope>
but I am getting the response as
<soapenv:Envelope 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:Body>
<QcB2BQNBPaymentIntegrationBalUpdatePaymentPostingResponse xmlns="http://tempuri.org">
<response >
<ns1:string xmlns:ns1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">QCP-0031312;158155421123</ns1:string>
</response>
</QcB2BQNBPaymentIntegrationBalUpdatePaymentPostingResponse>
</soapenv:Body>
</soapenv:Envelope>
I want to get the former response. please share some insight.
note: I've generated the java bean skeleton using axis
I am currently working on user provisioning for NetSuite.
How to get all the roles, departments and subsidiaries of an account using SuiteTalk(WebServices)?
For Subsidiary:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:urn="urn:messages_2017_2.platform.webservices.netsuite.com" xmlns:urn1="urn:core_2017_2.platform.webservices.netsuite.com" xmlns:ns1="urn:accounting.lists.webservices.netsuite.com" xmlns:ns2='urn:common_2017_2.platform.webservices.netsuite.com'>
<soapenv:Header>
<urn:applicationInfo>
<!--Optional:-->
<urn:applicationId></urn:applicationId>
</urn:applicationInfo>
<urn:passport>
<urn1:email></urn1:email>
<urn1:password></urn1:password>
<urn1:account></urn1:account>
</urn:passport>
</soapenv:Header>
<soapenv:Body>
<platformMsgs:search
xmlns:platformCore="urn:core_2017_2.platform.webservices.netsuite.com"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:s0="urn:accounting_2017_2.lists.webservices.netsuite.com"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:platformCommon="urn:common_2017_2.platform.webservices.netsuite.com"
xmlns:platformMsgs="urn:messages_2017_2.platform.webservices.netsuite.com">
<platformMsgs:searchRecord xsi:type="s0:SubsidiarySearch">
<s0:basic>
</s0:basic>
</platformMsgs:searchRecord>
</platformMsgs:search>
</soapenv:Body>
</soapenv:Envelope>
For Department :
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:urn="urn:messages_2017_2.platform.webservices.netsuite.com" xmlns:urn1="urn:core_2017_2.platform.webservices.netsuite.com" xmlns:ns1="urn:accounting.lists.webservices.netsuite.com" xmlns:ns2='urn:common_2017_2.platform.webservices.netsuite.com'>
<soapenv:Header>
<urn:applicationInfo>
<!--Optional:-->
<urn:applicationId></urn:applicationId>
</urn:applicationInfo>
<urn:passport>
<urn1:email></urn1:email>
<urn1:password></urn1:password>
<urn1:account></urn1:account>
</urn:passport>
</soapenv:Header>
<soapenv:Body>
<platformMsgs:search
xmlns:platformCore="urn:core_2017_2.platform.webservices.netsuite.com"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:s0="urn:accounting_2017_2.lists.webservices.netsuite.com"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:platformCommon="urn:common_2017_2.platform.webservices.netsuite.com"
xmlns:platformMsgs="urn:messages_2017_2.platform.webservices.netsuite.com">
<platformMsgs:searchRecord xsi:type="s0:DepartmentSearch">
<s0:basic>
</s0:basic>
</platformMsgs:searchRecord>
</platformMsgs:search>
</soapenv:Body>
</soapenv:Envelope>
For Role:
Not able Fetch those records using SuiteTalk.
I have been trying to cancel reservation on Amadeus and each time I do that with a valid PNR, it returns an empty response. Below is the sample code
cancelPNR Request XML
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<wmPNRCancel xmlns="http://traveltalk.com/wsPNRCancel">
<OTA_CancelRQ>
<POS>
<Source PseudoCityCode="*******" ISOCurrency="NGN">
<RequestorID Type="21" ID="********"/>
</Source>
<TPA_Extensions>
<Provider>
<Name>Amadeus</Name>
<System>Test</System>
<Userid>******</Userid>
<Password>**********</Password>
</Provider>
</TPA_Extensions>
</POS>
<UniqueID ID="******"/>
</OTA_CancelRQ>
</wmPNRCancel>
</soap:Body>
</soap:Envelope>
cancelPNR response
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<wmPNRCancelResponse xmlns="http://traveltalk.com/wsPNRCancel" />
</soap:Body>
</soap:Envelope>
What could be wrong ? Please I need help
I have a SOAP service developed in DELPHI and published on IIS. Testing the services we found some strange behaviour, the soap response structure changes after we call an operation with a wrong parameter type.
The test case is simple, we are calling this simple operation:
Test1_1(i:Integer; var s:string);
Call 1 (right parameter type)
Request:
<soapenv:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:WS_MCH_PrivadosIntf-IWS_MCH_Privados">
<soapenv:Header/>
<soapenv:Body>
<urn:Test1_1 soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<numero xsi:type="xsd:int">1</numero>
</urn:Test1_1>
</soapenv:Body>
</soapenv:Envelope>
Response:
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/">
<SOAP-ENV:Body>
<Test1_1Response xmlns="urn:WS_MCH_PrivadosIntf-IWS_MCH_Privados">
<res xmlns="http://www.w3.org/2001/XMLSchema">TEST1_1 OK</res>
</Test1_1Response>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Call 2 (wrong parameter type)
Request:
<soapenv:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:WS_MCH_PrivadosIntf-IWS_MCH_Privados">
<soapenv:Header/>
<soapenv:Body>
<urn:Test1_1 soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<numero xsi:type="xsd:int">a</numero>
</urn:Test1_1>
</soapenv:Body>
</soapenv:Envelope>
Response:
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/">
<SOAP-ENV:Body>
<SOAP-ENV:Fault>
<faultcode>SOAP-ENV:Server</faultcode>
<faultstring>'a' is not a valid integer value</faultstring>
<faultactor/>
</SOAP-ENV:Fault>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Call 3 (right parameter type, and response changes here from the first call)
Request:
<soapenv:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:WS_MCH_PrivadosIntf-IWS_MCH_Privados">
<soapenv:Header/>
<soapenv:Body>
<urn:Test1_1 soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<numero xsi:type="xsd:int">1</numero>
</urn:Test1_1>
</soapenv:Body>
</soapenv:Envelope>
Response:
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/">
<SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:NS1="urn:WS_MCH_PrivadosIntf-IWS_MCH_Privados">
<NS1:Test1_1Response>
<res xsi:type="xsd:string">TEST1_1 OK</res>
</NS1:Test1_1Response>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
As you can see, the first call and the third are exactly the same, but the response is different. Like i said before, it changes after an invokation with the wrong parameter type.
The client of the service doesn't recognize the response after it changes.
Any clues about this behaviour?
I need the server to answer always in the same way.
You need to contact Idera and send them your test case.
I had a similar problem a few months ago, as what you described, and I couldn't resolve this error. I contacted Idera (the owner of Delphi) and reported this as a VCL error.
I did get a reply and fix, but I am unable to share the hot-fix with you.
(Please do not contact me for this...)
This is a hot-fix for Delphi Seattle or Update 1 fix for Delphi Berlin.
I created a webservice producer from wsdl file using cxf.response is
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns2="http://esb.tiaa.org/life-insurance-correspondence-v1/types" xmlns:ns3="http://esb.tiaa.org/indianarmyshortservice">
<soap:Body>
<ns2:getSourcesResponse xmlns:ns2="http://channelmapwebservice.service.web.ccad/">
<return>
<sourceId>3</sourceId>
<sourceName>DUMMY9</sourceName>
</return>
The expected result is
<soapenv:Envelope 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:Body>
<ns1:getSourcesResponse soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns1="http://com.ccadllc.dac.web.service.channelmapwebservice">
<getSourcesReturn soapenc:arrayType="xsd:anyType[644]"
xsi:type="soapenc:Array" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">
<getSourcesReturn xsi:type="ns2:SourceInfo" xmlns:ns2="http://channelmapwebservice.service.web.ccad">
<sourceId xsi:type="xsd:int">3</sourceId>
<sourceName xsi:type="xsd:string">DUMMY9</sourceName>
</getSourcesReturn>
How to obtain the exptected result