Posted by masu0105 on June 14, 2010 at 6:00am
Hej!
Jag har problem med att anropa en java webbservice från en modul. Webbservicen är skriven i java och skapad med Netbeans, metoden jag anropar heter getInfo och returnerar en sträng. Jag har testat webbservicen med både en java klient och soapUI och den fungerar i båda dom. Problemet är när jag ska anropa den från modulen, då får jag bara upp en vit skärm. Koden jag använder i modulen för att anropa webbservicen ser ut så här:
require_once('lib/nusoap.php');
$soapclient = new nusoap_client('http://localhost:8080/RodheWS/RodheService?wsdl', 'wsdl');
$param = array('name'=>'Macke');
$result = $soapclient->call('getInfo', $param);
print_r($result);och wsdl filen ser ut så här:
<definitions targetNamespace="http://test.rhode/" name="RodheServiceService">
−
<types>
−
<xsd:schema>
<xsd:import namespace="http://test.rhode/" schemaLocation="http://localhost:8080/RodheWS/RodheService?xsd=1"/>
</xsd:schema>
</types>
−
<message name="getInfo">
<part name="parameters" element="tns:getInfo"/>
</message>
−
<message name="getInfoResponse">
<part name="parameters" element="tns:getInfoResponse"/>
</message>
−
<portType name="RodheService">
−
<operation name="getInfo">
<input wsam:Action="http://test.rhode/RodheService/getInfoRequest" message="tns:getInfo"/>
<output wsam:Action="http://test.rhode/RodheService/getInfoResponse" message="tns:getInfoResponse"/>
</operation>
</portType>
−
<binding name="RodheServicePortBinding" type="tns:RodheService">
<soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/>
−
<operation name="getInfo">
<soap:operation soapAction=""/>
−
<input>
<soap:body use="literal"/>
</input>
−
<output>
<soap:body use="literal"/>
</output>
</operation>
</binding>
−
<service name="RodheServiceService">
−
<port name="RodheServicePort" binding="tns:RodheServicePortBinding">
<soap:address location="http://localhost:8080/RodheWS/RodheService"/>
</port>
</service>
</definitions>Förstår inte varför det inte fungerar, är det någon som har nått tips?
Comments
Skicka på minne
I bland det kan hända att responsen till soap över skrida PHP minne. Jag hade samma problem med en Flex anrop i en modul. Kolla på Apache log.
Carl McDade
Drupal Source Exchange - alpha
Hej! Tack för ditt svar. Jag
Hej!
Tack för ditt svar. Jag har hittat felet nu, det var mappningen i windows hosts filen som var felet. När jag använde 127.0.0.1 istället för localhost fungerade det. Konstigt var att det fungerade att skriva localhost i tex webbläsaren men inte i php koden.
Mvh Markus