public static void main(String[] args) は例外を投げる { 持ってこない? WSDLの接尾辞 文字列端点 = "http://webservice.webxml.com.cn/webservices/qqOnlineWebService.asmx"; サービスコールを作成する サービスサービス = 新しいサービス(); サービスを通じて呼び出しオブジェクトを作成する コールコール = (Call) service.createCall(); サービスがあるURLを設定しましょう call.setTargetEndpointAddress(new java.net.URL(endpoint)); qqCheckOnlineはネット側の「http://WebXml.com.cn/」メソッドであり、名前空間のアドレスも注意し、持参しなければエラーを報告します call.setOperationName(new QName("http://WebXml.com.cn/","qqCheckOnline)); qqCodeは.NETメソッドのパラメータ名でもあり、qqCheckOnlineのパラメータ名でもあります call.addParameter(new QName("http://WebXml.com.cn/","qqCode"), org.apache.axis.encoding.XMLType.XSD_STRING、javax.xml.rpc.ParameterMode.IN); Javaが.netのwebServiceを呼び出し、「The server failed didn't aware the value of the HTTP header SOAPAction」というエラーを出さないようにしてください。 call.setUseSOAPAction(true); call.setReturnType(org.apache.axis.encoding.XMLType.SOAP_STRING); 返されたパラメータの種類 call.setSOAPActionURI("http://WebXml.com.cn/qqCheckOnline"); また、呼び出すメソッドも追加しなければエラーが報告されます オブジェクト配列はパラメータをカプセル化します String ret = (String) call.invoke(new Object[] {"aaaaa"}); System.out.println("--------"+ret); }
(未定義要素宣言 's:schema')
<s:any minOccurs="2" maxOccurs="2" />代替 <s:element ref="s:schema" /><s:any />このwsdl2java生成エラーは、JAXBがxml参照をサポートしていないことに起因しているはずです。なぜなら<s:any minOccurs="2" maxOccurs="2"/>と <s:element ref="s:schema" /><s:any/>は実際には同等だからです。 <s:element ref="s:schema" /> は実際には、ここで s:schema で指定された任意の要素タイプを使えることを意味します。<s:any /> がこの役割を担い、<s:any minOccurs="2" maxOccurs="2"/> は単なる2つの <:any />
WSDL2Java -frontend jaxws21 -client *.xml