Seller Account | Community Guidelines | Seller Support Blog | Help


Amazon Seller Community » Developer Support » Seller Central SOAP API

Thread: Error : No port for method 'merchant:(null)'

This question is answered. Helpful answers available: 2. Correct answers available: 1.

Reply to this Thread Reply to this Thread Search Forum Search Forum Back to Thread List Back to Thread List

Permlink Replies: 1 - Pages: 1 - Last Post: Nov 5, 2009 2:08 AM by: sylozof Threads: [ Previous | Next ]
sylozof

Click to report this message to  Administrator

Report

Posts: 2
Registered: 11/3/09
Error : No port for method 'merchant:(null)'
Posted: Nov 3, 2009 9:03 AM
 

Hi all

I'm posting here after long searches among this forum and other resources, without any results.

I use the Amazon SOAP API with PHP 5 and the NuSOAP library.

The problem occurs when I send Amazon a _POST_ORDER_FULFILLMENT_DATA_ message with an attached XML document. In response, I get the error mentionned in the title : No port for method 'merchant:(null)'.

Here is the content of the request sent :

POST /gateway/merchant-interface-mime HTTP/1.0
Host: merchant-api.amazon.co.uk:443
User-Agent: NuSOAP/0.7.3 (1.114)
Content-Type: multipart/related; type="text/xml"; boundary="=_b33ccbfaded8cae0f1413c8f7ddebc48"
SOAPAction: "http://www.amazon.com/merchants/merchant-interface/MerchantInterface#postDocument#KEx3YXNwY1NlcnZlci9BbXpJU0EvTWVyY2hhbnQ7TGphdmEvbGFuZy9TdHJpbmc7TG9yZy9pZG9veC93YXNwL3R5cGVzL1JlcXVlc3RNZXNzYWdlQXR0YWNobWVudDspTHdhc3BjU2VydmVyL0FteklTQS9Eb2N1bWVudFN1Ym1pc3Npb25SZXNwb25zZTs="
Authorization: Basic dGhpZXJyeUBkaW1pcHJvLmZyOm1pcmVpbGxl
Content-Length: 1715

--=_b33ccbfaded8cae0f1413c8f7ddebc48
Content-Transfer-Encoding: 8bit
Content-Type: text/xml; charset="UTF-8"

<?xml version="1.0" encoding="UTF-8"?>
<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>
<merchant>
<merchantIdentifier xsi:type="xsd:string">XXXX</merchantIdentifier>
<merchantName xsi:type="xsd:string">XXXX</merchantName>
</merchant>
<messageType xsi:type="xsd:string">_POST_ORDER_FULFILLMENT_DATA_</messageType>
<doc xsi:type="xsd:string" href="cid:f47701b78edf2aaf597db6bdbb2cdd95"></doc>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

--=_b33ccbfaded8cae0f1413c8f7ddebc48
Content-Transfer-Encoding: 8bit
Content-ID: <f47701b78edf2aaf597db6bdbb2cdd95>
Content-Type: text/xml
Content-Disposition: attachment

<?xml version="1.0"?>
<AmazonEnvelope xsi:noNamespaceSchemaLocation="amzn-envelope.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Header>
<DocumentVersion>1.01</DocumentVersion>
<MerchantIdentifier>XXXX</MerchantIdentifier>
</Header>
<MessageType>OrderFulfillment</MessageType>
<Message>
<MessageID>1</MessageID>
<OrderFulfillment>

<AmazonOrderID>XXX-XXXXXXX-XXXXXXX</AmazonOrderID>
<MerchantOrderID>XXXXX</MerchantOrderID>
<MerchantFulfillmentID>XXXXX</MerchantFulfillmentID>
<MerchantFulfillmentDate>2009-11-03 12:14:27</MerchantFulfillmentDate>
<FulfillmentData>
<CarrierCode>UPS</CarrierCode>
<ShippingMethod>Standard</ShippingMethod>
</FulfillmentData>
</OrderFulfillment>
</Message>
</AmazonEnvelope>

--=_b33ccbfaded8cae0f1413c8f7ddebc48--

And here is the response returned by the web service :

HTTP/1.1 500 Internal Server Error
Date: Tue, 03 Nov 2009 16:39:00 GMT
Server: Server
EmbeddedSOAPServer: WASP-C++ Vespa/4.6, build 2162 (Linux i686 2.6.18-8.el5a2xen #1 SMP Tue Apr 3 16:48:05 PDT 2007)
Cneonction: close
Transfer-Encoding: chunked
Content-Type: text/xml; charset="UTF-8"

<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:SE="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>No port for method 'merchant:(null)' with SOAPAction '"http://www.amazon.com/merchants/merchant-interface/MerchantInterface#postDocument#KEx3YXNwY1NlcnZlci9BbXpJU0EvTWVyY2hhbnQ7TGphdmEvbGFuZy9TdHJpbmc7TG9yZy9pZG9veC93YXNwL3R5cGVzL1JlcXVlc3RNZXNzYWdlQXR0YWNobWVudDspTHdhc3BjU2VydmVyL0FteklTQS9Eb2N1bWVudFN1Ym1pc3Npb25SZXNwb25zZTs="' found</faultstring></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>

Does anyone has an idea where does this "no port for method merchant:(null)" come from ? I don't use any 'merchant' method, I use 'postDocument'.

Thanks in advance to those who will have look at it...

sylozof

Click to report this message to  Administrator

Report

Posts: 2
Registered: 11/3/09
Re: Error : No port for method 'merchant:(null)'
Posted: Nov 5, 2009 2:08 AM   in response to: sylozof
 

I found the solution. I have a class with a "wsdl" attribute, that I initialised with a distant URI to the WSDL file. Actually, the class needed a local path to the WSDL file. It works as it should now.

Thanks all.

Legend
Amazonian
Helpful Answer
Correct Answer






Conditions of Use | Privacy Notice © 1996-2010, Amazon.com, Inc. or its affiliates