`
足至迹留
  • 浏览: 496963 次
  • 性别: Icon_minigender_1
  • 来自: OnePiece
社区版块
存档分类
最新评论

<wsdd> 使用AdminClient无法从deploy.wsdd生成server-config.wsdd

阅读更多
使用axis来发布自己的webservice服务通常两种方法,一是即时发布 JWS (Java Web Service) Files - Instant Deployment ,即通过jws文件发布,二是定制发布 Custom Deployment - Introducing WSDD。前者发布不支持服务类在package里,还有众多不便,现在已很少使用,后者经常被使用(其实我现在更多的是用tuscany来发布服务,更方便)。

现在是使用电信提供的wsdl来完成短信业务,需要接收短信时就必须自己作为服务端,让电信网关当客户端调用。拿到wsdl生成服务端代码并完成自己的业务后,需要发布自己的接口。这时候就用网上提供的方法:
1.开启自己应用所在的tomcat(这个必须开启)
2.cmd到WEB-INF路径下,使用
>java -Djava.ext.dirs=lib org.apache.
axis.client.AdminClient -lhttp://localhost:8080/AxisWebService/services/AdminService deploy.wsdd

说明:deploy.wsdd是服务端代码生成后生出的文件,手动把它放在WEB-INF下,需要根据这个文件生成server-config.wsdd才是对外发布webservice接口。AdminClient是Axis-1.*.jar提供的工具类,可以完成这个功能。命令行里直接输入java -Djava.ext.dirs=lib org.apache.axis.client.AdminClient可以看到这个命令的帮助信息。

第二步完成后如果成功就能在WEB-INF下看到需要的文件了,但报错:


这就是说后面带的参数找不到,很多网上都直接提供这个参数,我还以为是axis包里自带的呢,后来查到http://www.360doc.com/content/11/0711/11/16915_132858375.shtml说明这个是配置的servlet,要按自己实际的工程填写,原来这样,在web.xml里配置:
        <servlet>
	    <servlet-name>AxisServlet</servlet-name>
		<servlet-class>org.apache.axis.transport.http.AxisServlet</servlet-class>	
	</servlet>

<!--不要下面注释掉的这样配置,这样会拦截掉所有请求,导致只能请求webservice,其他页面都无法访问-->
	<!--<servlet-mapping>
	    <servlet-name>AxisServlet</servlet-name>
		<url-pattern>/*</url-pattern>
	</servlet-mapping>-->
        
<!--可以下面这样配置,这样访问http://localhost:8080/工程name/services/可以展示所有通过axis发布的webservice服务,访问http://localhost:8080/工程name/services/webservice服务名?wsdl可以查看wsdl文件-->
        <servlet-mapping>
            <servlet-name>AxisServlet</servlet-name>
            <display-name>查看Services列表</display-name>
            <url-pattern>/services/</url-pattern>
        </servlet-mapping>

        <servlet-mapping>
            <servlet-name>AxisServlet</servlet-name>
            <display-name>Services地址</display-name>
            <url-pattern>/services/*</url-pattern>
        </servlet-mapping> 

重启tomcat后输入:
>java -Djava.ext.dirs=lib org.apache.
axis.client.AdminClient -lhttp://localhost:8080/smsplatform/services/AxisServlet deploy.wsdd


返回:
Processing file deploy.wsdd
<Admin>Done processing</Admin>

查看server-config.wsdd文件已生成,在浏览器里测试:
http://localhost:8080/smsplatform/services/SmsNotification?wsdl
返回的是wsdl文件,成功。这里的smsplatform是应用的根目录,SmsNotification是server-config.wsdd文件的service的name。




wsdl文件最后绑定的地址是可以修改的,但注意跟AxisServlet的servlet-mapping要对应。再次声明使用tuscany来发布webservice比这简单好多。

【错误:】最后最后,把添加的servlet去掉,发布的工程里不需要这个。
【更正2014-06-17:】servlet的配置不能删掉,需要访问axis发布的webservice必须使用这个servlet的配置。之前发布好之后工作暂停,注释之后继续了其他工作,没有验证,得出了错误的结论,自以为是了。
  • 大小: 33.2 KB
  • 大小: 92.8 KB
  • 大小: 29.4 KB
  • 大小: 92.8 KB
0
0
分享到:
评论

相关推荐

    webservice 学习资料

    - 执行以下命令来生成 `server-config.wsdd` 文件: ```shell java -Djava.ext.dirs=E:\axis-bin-1_4\axis-1_4\lib org.apache.axis.client.AdminClient -l ...

    使用myEclipse,tomcat和Axis发布webService.pdf

    - 成功部署后,可以看到 `server-config.wsdd` 文件已生成。 5. **测试WebService**: - 在 `WebService` 的实现类 `CkpSoapBindingImpl` 中实现 `sayHello()` 方法。 - 可以通过调用该 WebService 的 URL 来...

    Axis在tomcat下的部署以及和应用的结合.doc

    - 更改路径:`java org.apache.axis.client.AdminClient -s/newweb/servlet/AxisServlet deploy.wsdd` - 使用 URL 指定目标应用:`java org.apache.axis.client.AdminClient -l ...

    webService-Axis-tomcat发布教程.docx编程资料

    - `-D`:生成 `deploy.wsdd` 和 `undeploy.wsdd` 文件。 - `-s`:生成服务端类。 - `-p src.com.server`:指定生成的服务类路径。 - `D:\workplace\testAixs\webservice.wsdl`:WSDL 文件路径。 - 点击 `Run` 后...

    axis1.4+ibatis2.3开发webservice服务[图解]

    - **服务部署脚本**:编写一个`deploy.bat`批处理文件,用于生成`server-config.wsdd`文件,这个文件包含了服务的具体配置信息。例如: ```batch set Axis_Lib=F:\jakarta-tomcat-5.0.28\webapps\bbinterface\WEB...

    webService

    - 部署完成后,会在`%TOMCAT_HOME%\webapps\axis\WEB-INF`目录下生成一个`server-config.wsdd`文件,该文件包含了部署的配置信息。 5. **测试WebService**: - 在浏览器或其他客户端调用WebService的URL,通常形...

    Web Service开发范例

    6. **部署服务**:要成功部署服务,必须通过`deploy.wsdd`文件生成`server-config.wsdd`文件。启动Tomcat服务器,将项目部署到服务器中,然后进入控制台,打开到`deploy.wsdd`文件所在目录,使用下面的命令执行`...

    java实现webservice实例

    例如,`server-config.wsdd`和`deploy.wsdd`文件是用于配置服务和部署的XML文件。`server-config.wsdd`定义全局配置,而`deploy.wsdd`则用于指定服务的详细信息,如服务名称、提供者、类名以及允许的方法。 以下是...

    Axis使用Stub方式开发Webservice只要看这个

    &lt;parameter name="className" value="server.SayHello"/&gt; &lt;parameter name="allowedMethods" value="*"/&gt; &lt;/service&gt; &lt;/deployment&gt; ``` ##### 4.3 使用Handler处理请求日志 为了增强服务的功能性,我们可以添加...

    axiss2 写webservices

    使用生成的 Stub 文件,我们可以编写客户端程序来调用 Web 服务。以下是一个简单的 JUnit 测试案例示例: ```java import java.net.URL; import junit.framework.Test; import junit.framework.TestCase; import ...

    axis1.4发布webservice接口步骤(java).docx

    为了使服务能够正常工作,还需要生成一个全局配置文件`server-config.wsdd`。这可以通过命令行工具`AdminClient`来完成: ``` java -Djava.ext.dirs=d:\Jars\axis\axis-1_4\lib org.apache.axis.client....

    soap+axis+tomcat

    这将生成一个`server-config.wsdd`文件,其中包含了`ShibinService`的相关配置。你可以查看这个文件以确认服务已经被正确部署。 为了调用这个Web服务,你可以编写一个客户端程序。例如,以下是一个简单的Java客户端...

    使用Axis开发Web Service程序

    %Java_Cmd% org.apache.axis.client.AdminClient -l %Axis_Servlet% deploy.wsdd ``` 4. **生成客户端存根代码**:使用`WSDL2Java.bat`脚本根据WSDL文件自动生成客户端存根代码。 ```bash set Axis_Lib=D:\...

    webservice 发布步骤

    java -cp %AXIS_CLASSPATH% org.apache.axis.client.AdminClient deploy.wsdd ``` - 如果部署成功,将会看到类似`&lt;Admin&gt;Done processing&lt;/Admin&gt;`的消息提示。 3. **测试WebService**: - 启动Tomcat服务器。 ...

    axis_讲解 java

    根据提供的标题、描述、标签及部分内容,我们可以提炼出与 Axis 相关的 Java 知识点,主要包括 Axis 的安装配置、基本使用流程以及部署服务等内容。 ### 一、Axis 简介 #### 1.1 Axis 是什么? Axis 是 Apache ...

    webservice :spring 3+cxf3.4服务方,AXIS1.4请示方调用

    java -Djava.ext.dirs=lib org.apache.axis.client.AdminClient -l http://10.64.6.60:8080/axis/services deploy1.wsdd ``` - **重启Tomcat**:重启Tomcat以确保新部署的服务生效。 - **验证服务**:通过访问服务...

    WebService开发

    %Java_Cmd% org.apache.axis.client.AdminClient -l%Axis_Servlet% deploy.wsdd ``` 运行此批处理文件后,若一切正常,则可以通过访问`http://localhost:8080/test/services`查看已发布的服务列表。 ##### 4. 生成...

    使用myEclipse,tomcat 和Axis发布webService

    运行后,生成的服务类、`build.xml`、`deploy.wsdd`和`undeploy.wsdd`文件应放入工程的`src`目录下。 在部署Web Service之前,确保Tomcat已经启动。在命令行中,定位到Web服务器的类和`deploy.wsdd`文件所在的目录...

    利用Axis构建Webservice

    - 使用`AdminClient`类来部署wsdd文件。 - 成功后,可通过访问`http://localhost:8080/test/services`查看已发布的服务列表。 - **生成客户端stub文件**: - 通过访问已发布的服务获取WSDL文件。 - 创建`WSDL2...

Global site tag (gtag.js) - Google Analytics