还有将相关的class、lib考过来,比如axis的包除了这些,还需要什么呢?
解决方案 »
- jdbc连接oracle数据库什么都没输出,也没报错,请教高手!
- drawImage打gif格式水印图片后gif图片变成静态的问题
- struts2的模型驱动与request.getParameter的效率与性能
- Struts+Spring+Hiblenate+Velocity ,页面显示问题。
- 好文章
- 高分请教TOMCAT里面的SESSION处理问题.......
- 请教:hibernate.cfg.xml配置SQLSERVER连接的问题!!!
- javascript发送邮件
- ★★★过路的高手请进来!★★★
- hibernate 访问oracle ORA-12505,
- JMS问题求助!!
- 请教XML初级问题:如何在一个文件中,放两条客户主数据。
就象你说的一样 只需要把这个文件放到相应的web应用文件下的web-inf下就可以了!
public String sayHello()
{
return "HELLO WORLD!";
}
}写完这个类后,编译一下,然后把生成的HelloWorld.class文件拷贝到tomcat下你的应用文件夹下的web-inf下的classes下。 (2)客户端测试程序TestClient.java 代码如下:import org.apache.axis.client.Call;
import org.apache.axis.client.Service;public class TestClient
{
public static void main(String [] args) throws Exception { String endpoint = "http://localhost:" +"8080"+ "/axis/services/sayHelloservice";//指明服务所在位置 Service service = new Service(); //创建一个Service实例,注意是必须的!
Call call = (Call) service.createCall();//创建Call实例,也是必须的! call.setTargetEndpointAddress( new java.net.URL(endpoint) );//为Call设置服务的位置 call.setOperationName( "sayHello" );//注意方法名与HelloWorld.java中一样!! String res = (String) call.invoke( new Object[] {} );//返回String,没有传入参数 System.out.println( res );
}
}
4。这一步骤很关键,就是写一个server-config.wsdd文件,直接写就行了。server-config.wsdd的内容如下:
<deployment xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
<handler type="java:org.apache.axis.handlers.http.URLMapper" name="URLMapper"/>
<service name="sayHelloservice" provider="java:RPC">
<parameter name="className" value="HelloWorld"/>
<parameter name="allowedMethods" value="sayHello"/>
</service>
<transport name="http">
<requestFlow>
<handler type="URLMapper"/>
</requestFlow>
</transport>
</deployment>
对于上面这个部署文件,你只需要考虑<service></service>之间的内容。其中sayHelloservice 是你的服务名称,这个名称随便起的,无所谓,不过也要和TestClient.java中的String endpoint = "http://localhost:" +"8080"+ "/axis/services/sayHelloservice";中的sayHelloservice相一致。<parameter name="className" value="HelloWorld"/> 这里的HelloWorld是类名,如果有包结构的话就要写名包路径,比如com.ctc.HelloWorld<parameter name="allowedMethods" value="sayHello"/> 这里的sayHello是你服务中的方法,也就是HelloWorld类中的那个sayHello()方法。
好了现在可以运行一下TestClient这个类了,结果很显然就是输出HelloWorld!
<servlet>
<servlet-name>AxisServlet</servlet-name>
<display-name>Apache-Axis Servlet</display-name>
<servlet-class>org.apache.axis.transport.http.AxisServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>AxisServlet</servlet-name>
<url-pattern>/servlet/AxisServlet/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>AxisServlet</servlet-name>
<url-pattern>*.jws</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>AxisServlet</servlet-name>
<url-pattern>/services/*</url-pattern>
</servlet-mapping>