Search code examples
phpweb-serviceswsdlpostman

Error in SOAP call to http://onepointdemo.myfarebox.com/V2/OnePoint.svc


I have SOAP code from myfarebox.com

<?xml version="1.0" encoding="utf-8"?>    
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:mys="Mystifly.OnePoint" xmlns:mys1="http://schemas.datacontract.org/2004/07/Mystifly.OnePoint">
   <soapenv:Header></soapenv:Header>
   <soapenv:Body>
      <mys:CreateSession>
         <mys:rq>
            <mys1:AccountNumber>Account_Number</mys1:AccountNumber>
            <mys1:Password>Account_Password</mys1:Password>
            <mys1:Target>test</mys1:Target>
            <mys1:UserName>Account_Username</mys1:UserName>
         </mys:rq>
      </mys:CreateSession>
   </soapenv:Body>
</soapenv:Envelope>

But using Postman I get this error

 <s:Envelope      xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">     
     <s:Body>     
         <s:Fault>     
             <faultcode xmlns:a="http://schemas.microsoft.com/ws/2005/05/addressing/none">a:ActionNotSupported</faultcode>     
             <faultstring xml:lang="en-US">The message with Action '' cannot be processed at the receiver, due to a ContractFilter      mismatch at the EndpointDispatcher. This may be because of either a contract mismatch (mismatched Actions between sender and           receiver) or a binding/security mismatch between the sender and the receiver.  Check that sender and receiver have the same      contract and the same binding (including security requirements, e.g. Message, Transport, None).</faultstring>
         </s:Fault>
     </s:Body>
 </s:Envelope>

So I read some examples on stackoverflow and other blogs I got this code https://gist.github.com/vishvendrasingh/0e0f7b990bf6458c546c47767b2e28a0

But It give this error

Fatal error: SOAP-ERROR: Parsing WSDL: Couldn't find in 'http://onepointdemo.myfarebox.com/V2/OnePoint.svc' in /var/www/api/index.php on line 4

I am new to SOAP and it just doesn't seem to work at all.


Solution

  • For the last error

    Fatal error: SOAP-ERROR: Parsing WSDL: Couldn't find in

    'http://onepointdemo.myfarebox.com/V2/OnePoint.svc' in /var/www/api/index.php on line 4

    in your code you should point on your wsdl by adding ?wsdl to your URL:

    $wsdl = http://onepointdemo.myfarebox.com/V2/OnePoint.svc?wsdl