1,搭建环境。(Tomcat,axis)搭建这些东西网上的资料太多了,自己找吧!
2,使用java编写服务的接口,然后,拷贝到/opt/axis_1.4/webapps/axis/WEB-INF目录下,并改名为.jws。最好通过http://IP:port/axis/User.jws进行验证,查看接口是否正确。
3,部署服务。编写deploy.wsdd文件。deploy.wsdd文件如下:
<?xml version="1.0" encoding="UTF-8"?>
<deployment xmlns ="http://xml.apache.org/axis/wsdd/" xmlns:java ="http://xml.apache.org/axis/wsdd/providers/java">
<service name="UserWebSer" provider="java:RPC"> //服务名称声明
<parameter name="className" value="UserClass"/>//服务调用接口
<parameter name="allowedMethods" value="*"/> //函数访问控制
<operation name="addUser" returnType="ns:int">//函数解析
<parameter name="username" type="ns:string"/>
<parameter name="password" type="ns:string"/>
<parameter name="email" type="ns:string"/>
<parameter name="phone" type="ns:string"/>
</operation>
<operation name="editUser" returnType="ns:int">
<parameter name="username" type="ns:string"/>
<parameter name="password" type="ns:string"/>
<parameter name="email" type="ns:string"/>
<parameter name="phone" type="ns:string"/>
</operation>
<operation name="delUser" returnType="ns:int" >
<parameter name="username" type="ns:string"/>
</operation>
//复杂类型解析
<typeMapping deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
qname="ns:UserClass"
serializer="org.apache.axis.encoding.ser.BeanSerializerFactory"
type="java:UserClass" xmlns:ns="UserWebSer"/>
<service name="UserClass" provider="java:RPC">
<parameter name="allowedMethods" value="*" />
<parameter name="className" value="UserClass" />
</service>
</service>
</deployment>
4,部署完成后,生成wsdl。
5,通过gSoap编程。
6,特定需求。如要求返回的头中需要添加些节点信息。操作如下:
1)打开soapC.cpp文件,查询soap_out_SOAP_ENV_Header函数。
2)soap_element_begin_out, soap_element_end_out为创建主节点。
3)soap_out_byte为创建节点。
完成,如果要求详细的信息,我可以发给你们。