1. java web service(cxf)服务端配置说明
1.项目环境
struts2+hibernate3+spring2.5
cxf版本为apache-cxf-2.3.3.zip
2.配置步骤
a.在项目web.xml文件中加入CXF的servlet
说明:@WebService注解,标注此接口为web service;
@WebParam注解,标注方中参数名称
@SOAPBinding(style = Style.RPC)注解,标注数据的传输方式
@WebService
@SOAPBinding(style = Style.RPC)
publicclass ComplexUserServiceImplimplements IComplexUserService{
public StringgetUserByName(@WebParam(name = "name")
String name) {
try {
String n8 = newString(name.getBytes(), "utf-8");
System.out.println("getUserByName(1)" + n8);
System.out.println("getUserByName(2)"
+ new String(name.getBytes(), "utf-16"));
System.out.println("getUserByName(3)"
+ new String(name.getBytes(), "gbk"));
System.out.println("getUserByName(4)"
+ new String(name.getBytes(), "gb2312"));
System.out.println(name);
String s = new String("我是中文 THISCODE".getBytes("gbk"));
return s;
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
return"";
}
}
c. webservice发布配置
增加(同spring配置文件一样)applicationContext-server.xml
<?xml version="1.0"encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:jaxws="http://cxf.apache.org/jaxws"
xmlns:p="http://www.springframework.org/schema/p"
xmlns:cxf="http://cxf.apache.org/core"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://cxf.apache.org/jaxws
http://cxf.apache.org/schemas/jaxws.xsd">
<import resource="classpath:META-INF/cxf/cxf.xml" />
<import resource="classpath:META-INF/cxf/cxf-extension-soap.xml"/>
<import resource="classpath:META-INF/cxf/cxf-servlet.xml"/>
<bean id="userServiceBean" class="com.webservice.impl.ComplexUserServiceImpl"></bean>
<bean id="outLoggingInterceptor" class="org.apache.cxf.interceptor.LoggingOutInterceptor"/>
<jaxws:server id="userServiceWS" serviceClass="com.webservice.IComplexUserService"address="/Users">
<jaxws:serviceBean>
<ref bean="userServiceBean"/>
</jaxws:serviceBean>
<jaxws:outInterceptors>
<ref bean="outLoggingInterceptor"/>
</jaxws:outInterceptors>
</jaxws:server>
</beans>
d. 结束语
至此,启动tomcat,cxf web service会随tomcat服务器启动而自动发布cxf服务
访问地址为http://localhost:端口/项目名称/ cxf-webservice/Users?wsdl,
如果能访问到wsdl文件,说明cxf服务部署成功
2. web service客户端配置
1. 项目环境
同上
axis所需jar包:
axis.jar axis2-kernel-1.6.2.jar commons-discovery-0.2.jar commons-logging-1.1.1.jar wsdl4j-1.6.2.jar
2. 部署步骤
注:本打算用CXF做客户端访问c++(gsoap)的web service服务端,无奈gsoap发布出 wsdl文档编码格式为encoded,而CXF已不支持encoded的编码格式。如果要连 gsoap 的web service服务店,必须换用其它框架。
这里直接写Main函数,连接gsoap服务器即可
publicstaticvoid main(String[] args) throws UnsupportedEncodingException {
try {
String endpoint = "http://192.168.1.114:8000/";
Service service = new Service();
Call call = (Call) service.createCall();
call.setTargetEndpointAddress(endpoint);
// QName第一个参数为wdsl文档的命名空间,
// 第二个参数为wsdl发布的方法名称
call.setOperationName(new QName("urn:calc", "getbyname"));
// addParameter第一个参数为wsdl发布的参数名称
call.addParameter("input", null, javax.xml.rpc.ParameterMode.IN);
// 标明返回的类型是什么
call.setReturnClass(String.class);
// 设置传递的参数值
String temp = (String) call.invoke(new Object[] { new String("<?xml version=\"1.0\"encoding=\"UTF-8\"?><xml n='me'>is中文</xml>".getBytes("gbk")) });
String n8 = new String(temp.getBytes(), "utf-8");
System.out.println("getUserByName(1)" + n8);
System.out.println("getUserByName(2)"
+ new String(temp.getBytes(), "utf-16"));
System.out.println("getUserByName(3)"
+ new String(temp.getBytes(), "gbk"));
System.out.println("getUserByName(4)"
+ new String(temp.getBytes(), "gb2312"));
}
} catch (ServiceException e) {
// TODO Auto-generatedcatch block
e.printStackTrace();
} catch (RemoteException e) {
// TODO Auto-generatedcatch block
e.printStackTrace();
}
}
分享到:
相关推荐
创建CXF客户端配置 CXF客户端需要一个Bus实例来配置其行为,例如连接超时、HTTP代理等。你可以通过编程或XML配置文件(如client.xml)来创建和配置Bus。 ```java BusFactory factory = BusFactory.newInstance();...
- Java客户端通过Apache CXF或其他Java SOAP库(如Axis2)解析.NET服务的WSDL,生成客户端代码,然后调用服务。 开发环境中,使用的是JDK1.6和Eclipse3.6作为Java环境,Visual Studio 2010作为.NET环境。值得注意...
2. **创建Web Service接口和实现**:定义一个接口,该接口将被用作客户端调用Web Service的方法。然后,创建一个实现此接口的类,使用WebServiceTemplate进行实际的Web Service调用。 ```java public interface ...
wangtengfei-hn_EmployeesExample_23540_1745868671962
scratch少儿编程逻辑思维游戏源码-汽车冲突.zip
scratch少儿编程逻辑思维游戏源码-棱镜.zip
少儿编程scratch项目源代码文件案例素材-直升机坠毁.zip
输入法优化与定制_五笔编码编辑与词库管理_Rime输入法引擎与86极点码表_跨平台五笔码表编辑器工具_for_macOS与Windows系统_支持用户自定义词条添加删除与排序_提供
少儿编程scratch项目源代码文件案例素材-主题乐园大亨.zip
scratch少儿编程逻辑思维游戏源码-迷失在像素平原.zip
少儿编程scratch项目源代码文件案例素材-纸格通关 云变量.zip
wanjunshe_Python-Tensorflow_12888_1745868924470
scratch少儿编程逻辑思维游戏源码-深入海底.zip
驾校自动化_网页自动化爬虫技术_Python27多线程HTTP请求模拟_龙泉驾校2014版约车系统自动预约助手_通过模拟登录和循环请求实现自动约车功能_支持失败自动递增车号重试_
scratch少儿编程逻辑思维游戏源码-南瓜危机.zip
scratch少儿编程逻辑思维游戏源码-皮博冒险者.zip
基于c++开发的网络嗅探器,重点对TCP、UDP、ARP、IGMP、ICMP 等数据包进行分析,实现捕捉前过滤、数据包统计、流量统计等功能+源码+项目文档,适合毕业设计、课程设计、项目开发。项目源码已经过严格测试,可以放心参考并在此基础上延申使用,详情见md文档 基于c++开发的网络嗅探器,重点对TCP、UDP、ARP、IGMP、ICMP 等数据包进行分析,实现捕捉前过滤、数据包统计、流量统计等功能+源码+项目文档,适合毕业设计、课程设计、项目开发。项目源码已经过严格测试,可以放心参考并在此基础上延申使用,详情见md文档~ 基于c++开发的网络嗅探器,重点对TCP、UDP、ARP、IGMP、ICMP 等数据包进行分析,实现捕捉前过滤、数据包统计、流量统计等功能+源码+项目文档,适合毕业设计、课程设计、项目开发。项目源码已经过严格测试,可以放心参考并在此基础上延申使用,详情见md文档 基于c++开发的网络嗅探器,重点对TCP、UDP、ARP、IGMP、ICMP 等数据包进行分析,实现捕捉前过滤、数据包统计、流量统计等功能+源码+项目文档,适合毕业设计、课程设计、项目开发。项目源码已经过严格测试,可以放心参考并在此基础上延申使用,详情见md文档 基于c++开发的网络嗅探器,重点对TCP、UDP、ARP、IGMP、ICMP 等数据包进行分析,实现捕捉前过滤、数据包统计、流量统计等功能+源码+项目文档,适合毕业设计、课程设计、项目开发。项目源码已经过严格测试,可以放心参考并在此基础上延申使用,详情见md文档
用于释放电脑的内存,很好用。
scratch少儿编程逻辑思维游戏源码-气球足球.zip
ollama 0.6.6.0官网下载,不方便的可以从这里下载