package webservice;
import java.net.MalformedURLException;
import java.util.Collection;
import java.util.HashMap;
import javax.xml.namespace.QName;
import org.codehaus.xfire.XFireRuntimeException;
import org.codehaus.xfire.aegis.AegisBindingProvider;
import org.codehaus.xfire.annotations.AnnotationServiceFactory;
import org.codehaus.xfire.annotations.jsr181.Jsr181WebAnnotations;
import org.codehaus.xfire.client.XFireProxyFactory;
import org.codehaus.xfire.jaxb2.JaxbTypeRegistry;
import org.codehaus.xfire.service.Endpoint;
import org.codehaus.xfire.service.Service;
import org.codehaus.xfire.soap.AbstractSoapBinding;
import org.codehaus.xfire.transport.TransportManager;
public class HelloWorldClient {
private static XFireProxyFactory proxyFactory = new XFireProxyFactory();
private HashMap endpoints = new HashMap();
private Service service0;
public HelloWorldClient() {
create0();
Endpoint HelloWorldHttpPortEP = service0 .addEndpoint(new QName("http://webservice", "HelloWorldHttpPort"), new QName("http://webservice", "HelloWorldHttpBinding"), "http://localhost:8080/testWSSpring/HelloWorldService.ws");
endpoints.put(new QName("http://webservice", "HelloWorldHttpPort"), HelloWorldHttpPortEP);
Endpoint HelloWorldPortTypeLocalEndpointEP = service0 .addEndpoint(new QName("http://webservice", "HelloWorldPortTypeLocalEndpoint"), new QName("http://webservice", "HelloWorldPortTypeLocalBinding"), "xfire.local://HelloWorld");
endpoints.put(new QName("http://webservice", "HelloWorldPortTypeLocalEndpoint"), HelloWorldPortTypeLocalEndpointEP);
}
public Object getEndpoint(Endpoint endpoint) {
try {
return proxyFactory.create((endpoint).getBinding(), (endpoint).getUrl());
} catch (MalformedURLException e) {
throw new XFireRuntimeException("Invalid URL", e);
}
}
public Object getEndpoint(QName name) {
Endpoint endpoint = ((Endpoint) endpoints.get((name)));
if ((endpoint) == null) {
throw new IllegalStateException("No such endpoint!");
}
return getEndpoint((endpoint));
}
public Collection getEndpoints() {
return endpoints.values();
}
private void create0() {
TransportManager tm = (org.codehaus.xfire.XFireFactory.newInstance().getXFire().getTransportManager());
HashMap props = new HashMap();
props.put("annotations.allow.interface", true);
AnnotationServiceFactory asf = new AnnotationServiceFactory(new Jsr181WebAnnotations(), tm, new AegisBindingProvider(new JaxbTypeRegistry()));
asf.setBindingCreationEnabled(false);
service0 = asf.create((webservice.HelloWorldPortType.class), props);
{
AbstractSoapBinding soapBinding = asf.createSoap11Binding(service0, new QName("http://webservice", "HelloWorldPortTypeLocalBinding"), "urn:xfire:transport:local");
}
{
AbstractSoapBinding soapBinding = asf.createSoap11Binding(service0, new QName("http://webservice", "HelloWorldHttpBinding"), "http://schemas.xmlsoap.org/soap/http");
}
}
public HelloWorldPortType getHelloWorldHttpPort() {
return ((HelloWorldPortType)(this).getEndpoint(new QName("http://webservice", "HelloWorldHttpPort")));
}
public HelloWorldPortType getHelloWorldHttpPort(String url) {
HelloWorldPortType var = getHelloWorldHttpPort();
org.codehaus.xfire.client.Client.getInstance(var).setUrl(url);
return var;
}
public HelloWorldPortType getHelloWorldPortTypeLocalEndpoint() {
return ((HelloWorldPortType)(this).getEndpoint(new QName("http://webservice", "HelloWorldPortTypeLocalEndpoint")));
}
public HelloWorldPortType getHelloWorldPortTypeLocalEndpoint(String url) {
HelloWorldPortType var = getHelloWorldPortTypeLocalEndpoint();
org.codehaus.xfire.client.Client.getInstance(var).setUrl(url);
return var;
}
public static void main(String[] args) {
HelloWorldClient client = new HelloWorldClient();
//create a default service endpoint
HelloWorldPortType service = client.getHelloWorldHttpPort();
//TODO: Add custom client code here
//
//service.yourServiceOperationHere();
System.out.println("test client completed");
System.out.println(service.sayHelloWorld("阿果"));
System.exit(0);
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
xfire-webservice数据格式及集成spring
共53个文件
java:10个
xml:10个
class:10个
4星 · 超过85%的资源 需积分: 9 24 下载量 34 浏览量
2009-06-26
13:09:54
上传
评论
收藏 26KB RAR 举报
温馨提示
使用xfire 在myEclipse下开发webservice的实例,包括常用数据格式的映射、xfire与spring的集成配置
资源推荐
资源详情
资源评论
收起资源包目录
xfire-webservice数据格式及集成spring.rar (53个子文件)
testWSSpring_client
.project 1KB
.settings
.jsdtscope 406B
com.genuitec.eclipse.ws.prefs 109B
com.genuitec.eclipse.ws.xfire.prefs 145B
org.eclipse.wst.jsdt.ui.superType.container 49B
org.eclipse.wst.jsdt.ui.superType.name 6B
.mymetadata 330B
WebRoot
WEB-INF
web.xml 718B
lib
classes
utils
GetDatas.class 834B
META-INF
xfire
services.xml 104B
webservice
ObjectFactory.class 700B
HelloWorldClient.class 5KB
SayHelloWorld.class 923B
HelloWorldPortType.class 714B
SayHelloWorldResponse.class 955B
package-info.class 313B
index.jsp 834B
META-INF
MANIFEST.MF 39B
.myeclipse
src
utils
GetDatas.java 419B
webservice
ObjectFactory.java 1KB
HelloWorldClient.java 4KB
package-info.java 160B
SayHelloWorld.java 1KB
SayHelloWorldResponse.java 1KB
HelloWorldPortType.java 640B
WebServices
services.xml 104B
.classpath 667B
testWSSpring
.project 2KB
.settings
.jsdtscope 406B
com.genuitec.eclipse.ws.prefs 109B
com.genuitec.eclipse.ws.xfire.prefs 145B
org.eclipse.wst.jsdt.ui.superType.container 49B
org.eclipse.wst.jsdt.ui.superType.name 6B
.mymetadata 309B
WebRoot
WEB-INF
xfire-servlet.xml 1KB
web.xml 2KB
applicationContext.xml 234B
lib
classes
test
WebServiceClientTest.class 1KB
META-INF
xfire
services.xml 104B
HelloWorldService.wsdl 3KB
client.xml 497B
webservice
HelloWorld.class 177B
HelloWorldImpl.class 701B
index.jsp 834B
META-INF
MANIFEST.MF 39B
.myeclipse
src
test
WebServiceClientTest.java 2KB
HelloWorldService.wsdl 3KB
client.xml 497B
webservice
HelloWorldImpl.java 241B
HelloWorld.java 260B
.springBeans 481B
WebServices
services.xml 104B
.classpath 776B
共 53 条
- 1
JavaEE_Flattie
- 粉丝: 1
- 资源: 4
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 论文(最终)_20240430235101.pdf
- 基于python编写的Keras深度学习框架开发,利用卷积神经网络CNN,快速识别图片并进行分类
- 最全空间计量实证方法(空间杜宾模型和检验以及结果解释文档).txt
- 5uonly.apk
- 蓝桥杯Python组的历年真题
- 2023-04-06-项目笔记 - 第一百十九阶段 - 4.4.2.117全局变量的作用域-117 -2024.04.30
- 2023-04-06-项目笔记 - 第一百十九阶段 - 4.4.2.117全局变量的作用域-117 -2024.04.30
- 前端开发技术实验报告:内含4四实验&实验报告
- Highlight Plus v20.0.1
- 林周瑜-论文.docx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
前往页