Ciao a tutti, sto cercando di interrogare un web service (scritto in java) da Javascript, attraverso la WebServiceProxyFactory. Ho provato qualcuno dei tanti esempi in giro, ed effettivamente l'approccio funziona, interrogando per esempio qualche web service di http://www.xmethods.net.
Felice di questi risultati ho provato ad applicarli al mio WS locale, creato appunto in java. Ho utilizzato praticamente lo stesso codice javascript, con gli opportuni adattamenti (wsdl e port). Il problema è che sembra non riuscire a processare correttamente il wsdl che gli passo. Premetto che il wsdl è generato automaticamente.
L'errore che ottendo nella createProxyAsync è:
-->failure processing WSDL, element is not schema
seguito da:
-->Failure processing WSDL cannot find schema element "http://test/:getData"
Il wsdl è molto semplice:
-----------------------------------------------------------------------
<?xml version="1.0" encoding="UTF-8"?><definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:tns="http://test/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" targetNamespace="http://test/" name="MulticastListenerService">
<types>
<xsd:schema>
<xsd:import schemaLocation="http://localhost:8080/multicastlistener?xsd=1" namespace="http://test/"></xsd:import>
</xsd:schema>
</types>
<message name="getData">
<part element="tns:getData" name="parameters"></part>
</message>
<message name="getDataResponse">
<part element="tns:getDataResponse" name="parameters"></part>
</message>
<portType name="MulticastListener">
<operation name="getData">
<input message="tns:getData"></input>
<output message="tns:getDataResponse"></output>
</operation>
</portType>
<binding name="MulticastListenerPortBinding" type="tns:MulticastListener">
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"></soap:binding>
<operation name="getData">
<soapperation soapAction=""></soap
peration>
<input>
<soap:body use="literal"></soap:body>
</input>
<output>
<soap:body use="literal"></soap:body>
</output>
</operation>
</binding>
<service name="MulticastListenerService">
<port name="MulticastListenerPort" binding="tns:MulticastListenerPortBinding">
<soap:address location="http://localhost:8080/multicastlistener"></soap:address>
</port>
</service>
</definitions>
-----------------------------------------------------------------------
Sembra dunque che non riesca a trovare il metodo interessato...qualcuno ha già avuto modo di far interagire javascript con un we service java? ll Browser di riferimento è Firefox.
Grazie