soap 的开发其实是wsdl到java的一个开发过程。
1, 首先使用axis来生成
服务端代码和客户端 代码, 然后再开发实现。那么怎么样生成服务端代码和客户端代码了。看一下这个包你就明白了
. 生成服务器端代码之后把它放在工程中去。
这个里面分了几个包,包括message、
operation、service、type、util。Message里面放request和response的对象.
Operation放一些逻辑操作。主要的业务实现都在这个里面。
Service里面放soap的服务类。Type里面放javabean。 Util里面放一些公共的方法(验证、常量、日志等) 。
注意:deploy.wsdd这个到时候会在部署服务的时候用到
服务器端放好了。 那么客户端怎么放了。其实一样。建一个web 工程。或都java
project工程。把客户端代码直接复制放进去。改一下包名。就行了。
2, 如何发布服务了
服务部署步骤:
1.将axis需要的jar拷贝到应用WEB-INF\lib下
2.配置环境中的R001C01L01301\server\plugins\oms_cm\tomcat-embed\webapps\webpages\WEB-INF\web.xml 中 增加以下代码加载axis框架
<listener>
<listener-class>org.apache.axis.transport.http.Axis
HTTPSessionListener</listener-class>
</listener>
<servlet>
<servlet-name>Axis
Servlet</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>
<mime-mapping>
<extension>wsdl</extension>
<mime-type>text/xml</mime-type>
</mime-mapping>
<mime-mapping>
<extension>xsd</extension>
<mime-type>text/xml</mime-type>
</mime-mapping>
2.将1所说的 服务端的代码编译后打个包为sms_service.jar , 然后文件拷贝到环境中的
R001C01L01301\server\plugins\oms_cm\tomcat-embed\webapps\webpages\WEB-INF\lib 或
R001C01L01301\server\plugins\oms_cm\tomcat-embed\webapps\webpages\product\SMS_Product_V300R002.2Db7\SMC_Cluster_V300R002.2Db7\lib
3. 将这个server-config.wsdd(如果没有,请看备注) 放在环境中的R001C01L01301\server\plugins\oms_cm\tomcat-embed\webapps\webpages\WEB-INF下
4。注意:在第一次用的时候,要生成axis服务部署文件 (如果没有部署,请看备注)
5.启动服务器即可。
备注:
以后有问题可以重新部署(从新生成 server-config.wsdd)
1. 配置环境下的\R001C01L01301\server\plugins\oms_cm\config\cm.properties 里面在SERVICE_LIST=US,EAM 后面加 逗号axis;
2. 首先要环境下R001C01L01301\server\plugins\oms_cm\tomcat-embed\webapps下创建一个文件夹(例如axis/WEB-INF) ,将axis需要的jar拷贝到应用WEB-INF\lib下, 创建web.xml 里面内容如上(加载axis框架)
或者直接解压下面的包放在R001C01L01301\server\plugins\oms_cm\tomcat-embed\webapps目录下
4. 将工程中的deploy.wsdd文件拷贝到 WEB_INF下
5. 将工程中sms_service.jar 解压后放在环境中 R001C01L01301\server\plugins\oms_cm\tomcat-embed\webapps\axis\WEB-INF\classes下
6. 打开cmd窗口程序进入WEB-INF下 输入以下命令,java -Djava.ext.dirs=lib org.apache.axis.client.AdminClient -p 8080 deploy.wsdd 没有报错,说明部署成功
7. 最后就是删除axis文件夹 还原cm.properties文件。
在请按以上描述的 服务部署步骤操作。
注意:部署时服务应该是启动的
server-config.wsdd: 服务部署成功
后生成的文件,不改动服务
接口的情况下,现在可以直接使用,直接放在WEB-INF下即可。启动服务器。
如果报错说找不到服务SMSWebService , 再认真仔细的看一下,是不是按照部置步骤做的。除此之外还要看一下,你的客户端代码SMSWebService_ServiceLocator.java 这个类里面SMSWebService_address这个变量的路径有没有写错
3. 简单的说一下代码。服务器端入口在SMSWebServiceBindingImpl.java 。然后调用一些操作的类,实现业务逻辑。 然后你根据soap需求文档和设计文档去看代码。很快就会看明白的.