Java SOAP 调用 C# 的WebService,C# 的WebService方法的创建可以参考上一篇文章。
IntelliJ IDEA Community Edition 2021.2.3的idea64.exe新建项目,导入需要的jar,代码如下:
import org.apache.axis.client.Service; import org.apache.axis.soap.SOAPConstants; import javax.xml.namespace.QName; import java.net.URL; public class Longteng { public static void main(String[] args) { TestWebserviceHelloWorld3(); } public static void TestWebserviceHelloWorld3() { try { //String url = "http://localhost:8012/WebService1.asmx"; //String namespace = "http://tempuri.org/"; Service service = new Service(); Call call=(Call)(new Service()).createCall(); call.setTargetEndpointAddress(new URL("http://localhost:8012/WebService1.asmx")); call.setOperationName(new QName("http://tempuri.org/","HelloWorld3")); call.setTimeout(30000); call.setUseSOAPAction(true); call.setSOAPVersion(SOAPConstants.SOAP11_CONSTANTS); //解决 提示System.Web.Services.Protocols.SoapException: 服务器未能识别 HTTP 头 SOAPAction 的值: 。的错误问题 // SOAP 1.1 必须添加SOAPAction,SOAP 1.2 则不能添加SOAPAction call.setSOAPActionURI("http://tempuri.org/HelloWorld3"); String re=(String)call.invoke(new String[]{"1","pass"}); System.out.println(re); //Call call=(Call)(new Service()).createCall(); //call.setTargetEndpointAddress(new URL("http://127.0.0.1:7001/hnCardService/services/CardService")); //call.setOperationName(new QName("http://ws.apache.org/axis2","getCard")); //call.setTimeout(30000); //String re=(String)call.invoke(new String[]{"user","pass","F20000015","420503198104191819","周玉磊","440200"}); //System.out.println(re); } catch (Exception e) { System.err.println(e.toString()); } } }
测试运行
标签:Java,String,Service,C#,http,call,org,new,SOAP From: https://www.cnblogs.com/1175429393wljblog/p/17783516.html