有关apache soap的配置
如下两个文件:
// SOAPService.java
package HelloWorld;
public class SOAPService {
public String sayHi(String x) {
return("Hello my friend, " + x + "! Glad to see you!");
}
}
// HelloWorldClient.java
import java.io.*;
import java.net.*;
import java.util.*;
import org.apache.soap.*;
import org.apache.soap.rpc.*;
public class HelloWorldClient {
public static void main(String[] arg) throws Exception {
Call c = null;
URL url = null;
Vector params = null;
Response rep = null;
String ourName = "Superman";
String ourUrn = "urn:HelloWorld_SOAPService";
String ourMethod = "sayHi";
url = new URL("http://localhost:8080/soap/servlet/rpcrouter");
System.out.println("Passing to our deployed "+ourUrn+" our name ("+ourName+"): ");
c = new Call();
c.setTargetObjectURI(ourUrn);
c.setMethodName(ourMethod);
c.setEncodingStyleURI(Constants.NS_URI_SOAP_ENC);
params = new Vector();
params.addElement(new Parameter("ourName", String.class, ourName, null));
c.setParams(params);
System.out.print("and its answer is: ");
rep = c.invoke(url, "");
if (rep.generatedFault()) {
Fault fault = rep.getFault();
System.out.println("\nCall failed!");
System.out.println("Code = " + fault.getFaultCode());
System.out.println("String = " + fault.getFaultString());
} else {
Parameter result = rep.getReturnValue();
System.out.print(result.getValue());
System.out.println();
}
}
}
我已经把soap.jar、activation.jar和mail.jar加入系统的classpath,并且通过http://localhost:8080/soap/admin/index.html Deploy一个Provider Class为HelloWorld.SOAPService的Service
但是执行java HelloWorldClient出现如下错误:
Code = SOAP-ENV:Server.BadTargetObjectURI
String = Unable to resolve target object: HelloWorld.SOAPService
我猜想这个错误是tomcat没有找到SOAPService这个类,这个问题如何解决?
我试过把HelloWorld.SOAPService封装成jar,改tomcat\bin\setclasspath.bat文件,还是不行。
本人刚刚接触soap,请高手指点,不胜感激!
// SOAPService.java
package HelloWorld;
public class SOAPService {
public String sayHi(String x) {
return("Hello my friend, " + x + "! Glad to see you!");
}
}
// HelloWorldClient.java
import java.io.*;
import java.net.*;
import java.util.*;
import org.apache.soap.*;
import org.apache.soap.rpc.*;
public class HelloWorldClient {
public static void main(String[] arg) throws Exception {
Call c = null;
URL url = null;
Vector params = null;
Response rep = null;
String ourName = "Superman";
String ourUrn = "urn:HelloWorld_SOAPService";
String ourMethod = "sayHi";
url = new URL("http://localhost:8080/soap/servlet/rpcrouter");
System.out.println("Passing to our deployed "+ourUrn+" our name ("+ourName+"): ");
c = new Call();
c.setTargetObjectURI(ourUrn);
c.setMethodName(ourMethod);
c.setEncodingStyleURI(Constants.NS_URI_SOAP_ENC);
params = new Vector();
params.addElement(new Parameter("ourName", String.class, ourName, null));
c.setParams(params);
System.out.print("and its answer is: ");
rep = c.invoke(url, "");
if (rep.generatedFault()) {
Fault fault = rep.getFault();
System.out.println("\nCall failed!");
System.out.println("Code = " + fault.getFaultCode());
System.out.println("String = " + fault.getFaultString());
} else {
Parameter result = rep.getReturnValue();
System.out.print(result.getValue());
System.out.println();
}
}
}
我已经把soap.jar、activation.jar和mail.jar加入系统的classpath,并且通过http://localhost:8080/soap/admin/index.html Deploy一个Provider Class为HelloWorld.SOAPService的Service
但是执行java HelloWorldClient出现如下错误:
Code = SOAP-ENV:Server.BadTargetObjectURI
String = Unable to resolve target object: HelloWorld.SOAPService
我猜想这个错误是tomcat没有找到SOAPService这个类,这个问题如何解决?
我试过把HelloWorld.SOAPService封装成jar,改tomcat\bin\setclasspath.bat文件,还是不行。
本人刚刚接触soap,请高手指点,不胜感激!
...全文
相关推荐
Apache+SOAP介绍
**配置Apache**:为了使Apache能够识别和处理SOAP请求,需要在Apache的配置文件中添加相应的配置项,例如设置虚拟主机或上下文路径,以指向SOAP服务的位置。4.
apache.soap...jar包,soap 调用webservice核心包
在实际应用中,使用Apache SOAP调用Web服务通常涉及以下步骤:1. 创建`SoapClient`实例,配置服务地址。2. 创建`SoapMethod`,设置服务方法名。3.
apache soap的hello例子
这可能是由于SOAP本身的概念和配置相对复杂,尤其是对于新手来说。然而,Apache SOAP的官方文档和社区资源提供了详细的指南和示例,可以帮助你克服这些困难。
使用CXF实现带header的soap服务
综上所述,该主题涉及的知识点包括Apache CXF框架、SOAP服务开发、HTTP头处理、服务接口与实现、拦截器机制、以及Eclipse项目配置。
在同一个系统里用cxf 实现SOAP 协议和RESTful风格 两种类型的webservice接口
总之,Apache CXF提供了一种高效的方式来实现SOAP和RESTful两种类型的Web服务接口。通过合理的配置和编码,开发者可以在同一系统中轻松地集成这两种服务风格,满足不同应用场景的需求。


