1.在你的axis包中的一个servlet,当前访问后缀为.jws的URL时就会调用这个servlet,然后生成WSDL文件,这个servlet需要在web.xml中配置,但是当你要部署带有包名的clsss为web service时的时候就要用到server-config.wsdd文件,这个文件在axis的jar包中的,可以拷过来然后修改一下就行了.
2. jws部署web service是不支持包名的.
3. 客户端当然是调用class文件,axis会替你自动编译这个jws文件,然后在classes目录下会有相应的clsss文件.
4. 第四个问题暂时没试过,只用java调过,但应该也很简单,只要知道WSDL文件后,理论上任何语言都可以调用.
2. jws部署web service是不支持包名的.
3. 客户端当然是调用class文件,axis会替你自动编译这个jws文件,然后在classes目录下会有相应的clsss文件.
4. 第四个问题暂时没试过,只用java调过,但应该也很简单,只要知道WSDL文件后,理论上任何语言都可以调用.
解决方案 »
- 关于SSH三大框架整合后增删改查的问题
- java数组
- tomcat 连接远程数据库掉线后就连接不上的问题
- EJB3在SessionBean外部调用实体中外键的Get方法时抛出LazyInitializationException异常
- 请问HIBERNATE如何查询返回限制行数的结果集??
- 我用的是Struts ActionForm 通过 enctype="multipart/form-data" 上传文件 ,但可能是页面过大,到ActionForm就结束。
- 关于远程调用ejb
- 疯了!如何将Collection转成Vector?谢谢
- 请问在JAVA中调用WIN32的API函数,有没有什么比较好的解决方案?
- 据说Ant工具是可以安装的,但下载了工具之后,却找不到安装的图标,怎么回事?
- 请教:如何用XML&Java 编写email模板和地址簿?
- ExtremeTable 的ec:Tree怎么排序?急!!!
有谁知道啊?
2.需要用包 就用第二种方法 配置server-config.wsdd
下面有个例子:或者对你有用
======================
HelloWorld.javapackage anni;
public class HelloWorld {
public String sayHello() {
return "hello world!";
}
}
把HelloWorld.java编译成HelloWorld.class,放到%TOMCAT_HOME%\webapps\axis\WEB-INF\classes目录下,因为定义了anni作为包名,实际的路径是%TOMCAT_HOME%\webapps\axis\WEB-INF\classes\anni\HelloWorld.classdeploy_1.wsdd<deployment xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
<service name="HelloWorld" provider="java:RPC">
<parameter name="className" value="anni.HelloWorld"/>
<parameter name="allowedMethods" value="sayHello"/>
</service>
</deployment>
根据deploy_1.wsdd发布HelloWorldjava -cp %AXISCLASSPATH% org.apache.axis.client.AdminClient -lhttp://localhost:8080/axis/services/ deploy_1.wsdd
%TOMCAT_HOME%\webapps\axis\WEB-INF\目录下会生成一个server-config.wsdd文件,这就是AXIS的配置文件,以后所有的服务发布描述都会在里面找到。(你可以直接修改它,不用再写deploy.wsdd)然后打开浏览器http://localhost:8080/axis/servlet/AxisServlet,可以看到所有发布的服务。=========================3.直接调用?通过工具类根据wsdl生成客户端的类 然后在调用。
4.不同的语言理论上是可以的 但是在实际使用过程中 还是会有点问题 主要 是类型的描述上