Reputation: 1355
I'm relatively new to PHP, and totally new to VB.NET / Web Services / SOAP / XML, and i'm having trouble to make my PHP communicate with the VB.NET web service.
This is my PHP script:
<?php
$client = new SoapClient("http://10.0.0.2/wsteste/Service1.asmx?wsdl");
$param = array("usuario" => "name", "senha" => "test");
$response = $client->__soapCall("HelloWorld", $param);
print_r($response);
?>
And here is the VB.NET asmx.
Imports System.Web.Services
Imports System.Web.Services.Protocols
Imports System.ComponentModel
' To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line.
' <System.Web.Script.Services.ScriptService()> _
<System.Web.Services.WebService(Namespace:="http://tempuri.org/")> _
<System.Web.Services.WebServiceBinding(ConformsTo:=WsiProfiles.BasicProfile1_1)> _
<ToolboxItem(False)> _
Public Class Service1
Inherits System.Web.Services.WebService
<WebMethod()> _
Public Function HelloWorld(ByVal usuario As String, ByVal senha As String) As String
Return usuario & " - " & senha
End Function
End Class
And here is what printed on the browser:
stdClass Object ( [HelloWorldResult] => - )
It was supposed to return name - test
, wasn't it?
Upvotes: 0
Views: 2192
Reputation: 2255
I think that the PHP SOAP Client is passing the parameters without the names. So usuario nor senha means nothing to the HelloWorld method.
I would try something like
$client->HelloWorld(array("usuario"=>"name", "senha"=>"test"));
Haven tested though.
EDIT
From this question Call asp.net web service from PHP with multiple parameters
Pass your params like this
$params->usuario = 'name';
$params->senha = 'test';
$client->HelloWorld($params);
Upvotes: 1