Lost parameter calling WS from PHP
Posted
by Zyd
on Stack Overflow
See other posts from Stack Overflow
or by Zyd
Published on 2010-05-07T02:58:36Z
Indexed on
2010/05/07
3:58 UTC
Read the original article
Hit count: 670
Hi,
I'm trying to call this WS from PHP:
namespace WsInteropTest
{
/// <summary>
/// Summary description for Service1
/// </summary>
[WebService(Namespace = "http://advantage-security.com/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.ComponentModel.ToolboxItem(false)]
// To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line.
// [System.Web.Script.Services.ScriptService]
public class TestWs : System.Web.Services.WebService
{
[WebMethod]
public string HelloWorld(int entero)
{
return "Hello World " + entero.ToString();
}
}
}
The code i use to call the WS is this:
<?php
require_once('nusoap\nusoap.php');
$client = new nusoap_client('http://localhost/testws/TestWS.asmx?WSDL');
$params = array(
'entero' => 100
);
$result = $client->call('HelloWorld', array($params),
'http://advantage-security.com/HelloWorld',
'http://advantage-security.com/HelloWorld');
print_r($result);
?>
and the result is this
Hello World 0
What do you think may be the problem?
According to what i've read there is no issues with simple types between .NET (which are converted to standard soap types) and PHP.
If it is of use, here it is the WSDL.
Thanks in advance
<?xml version="1.0" encoding="utf-8" ?>
- <wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:tns="http://advantage-security.com/" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" targetNamespace="http://advantage-security.com/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
- <wsdl:types>
- <s:schema elementFormDefault="qualified" targetNamespace="http://advantage-security.com/">
- <s:element name="HelloWorld">
- <s:complexType>
- <s:sequence>
<s:element minOccurs="1" maxOccurs="1" name="entero" type="s:int" />
</s:sequence>
</s:complexType>
</s:element>
- <s:element name="HelloWorldResponse">
- <s:complexType>
- <s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="HelloWorldResult" type="s:string" />
</s:sequence>
</s:complexType>
</s:element>
</s:schema>
</wsdl:types>
- <wsdl:message name="HelloWorldSoapIn">
<wsdl:part name="parameters" element="tns:HelloWorld" />
</wsdl:message>
- <wsdl:message name="HelloWorldSoapOut">
<wsdl:part name="parameters" element="tns:HelloWorldResponse" />
</wsdl:message>
- <wsdl:portType name="TestWsSoap">
- <wsdl:operation name="HelloWorld">
<wsdl:input message="tns:HelloWorldSoapIn" />
<wsdl:output message="tns:HelloWorldSoapOut" />
</wsdl:operation>
</wsdl:portType>
- <wsdl:binding name="TestWsSoap" type="tns:TestWsSoap">
<soap:binding transport="http://schemas.xmlsoap.org/soap/http" />
- <wsdl:operation name="HelloWorld">
<soap:operation soapAction="http://advantage-security.com/HelloWorld" style="document" />
- <wsdl:input>
<soap:body use="literal" />
</wsdl:input>
- <wsdl:output>
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
- <wsdl:binding name="TestWsSoap12" type="tns:TestWsSoap">
<soap12:binding transport="http://schemas.xmlsoap.org/soap/http" />
- <wsdl:operation name="HelloWorld">
<soap12:operation soapAction="http://advantage-security.com/HelloWorld" style="document" />
- <wsdl:input>
<soap12:body use="literal" />
</wsdl:input>
- <wsdl:output>
<soap12:body use="literal" />
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
- <wsdl:service name="TestWs">
- <wsdl:port name="TestWsSoap" binding="tns:TestWsSoap">
<soap:address location="http://localhost/testws/TestWS.asmx" />
</wsdl:port>
- <wsdl:port name="TestWsSoap12" binding="tns:TestWsSoap12">
<soap12:address location="http://localhost/testws/TestWS.asmx" />
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
© Stack Overflow or respective owner