首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > XML SOAP >

xfire webservice url请求解决思路

2012-02-13 
xfire webservice url请求我用xfire发布了一个webservice,服务名是IWebService,wsdl文件也能看到wsdl:def

xfire webservice url请求
我用xfire发布了一个webservice,服务名是IWebService,
wsdl文件也能看到
<wsdl:definitions targetNamespace="http://service.netinv.aisino.com" xmlns:tns="http://service.netinv.aisino.com" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenc11="http://schemas.xmlsoap.org/soap/encoding/" xmlns:soapenc12="http://www.w3.org/2003/05/soap-encoding" xmlns:soap11="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
- <wsdl:types>
- <xsd:schema attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://service.netinv.aisino.com" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
- <xsd:element name="mobileInform">
- <xsd:complexType>
- <xsd:sequence>
  <xsd:element maxOccurs="1" minOccurs="1" name="in0" nillable="true" type="xsd:string" /> 
  </xsd:sequence>
  </xsd:complexType>
  </xsd:element>
- <xsd:element name="mobileInformResponse">
- <xsd:complexType>
- <xsd:sequence>
  <xsd:element maxOccurs="1" minOccurs="1" name="out" nillable="true" type="xsd:string" /> 
  </xsd:sequence>
  </xsd:complexType>
  </xsd:element>
- <xsd:element name="sayHi">
- <xsd:complexType>
- <xsd:sequence>
  <xsd:element maxOccurs="1" minOccurs="1" name="in0" nillable="true" type="xsd:string" /> 
  </xsd:sequence>
  </xsd:complexType>
  </xsd:element>
- <xsd:element name="sayHiResponse">
- <xsd:complexType>
- <xsd:sequence>
  <xsd:element maxOccurs="1" minOccurs="1" name="out" nillable="true" type="xsd:string" /> 
  </xsd:sequence>
  </xsd:complexType>
  </xsd:element>

想通过http://192.168.8.180:9001/fpcy_ww/services/IWebService/sayHi?in0=test 来访问这个webservice的服务 但是不行 每次都跳到wsdl页面 我看过一个文章 里面用axis可以url访问webservice 是xfire没有这个功能是是需要怎么配置,请教各位大侠了,谢谢

[解决办法]
MyEclipse下XFire开发Webservice实例 - meteorWJ's Home—Floating clound - CSDN博客
默认分类 2009-10-20 16:09:25 阅读1180 评论4 字号:大中小 订阅 
meteorWJ's Home—Floating clound
I just want to stay in the peaceful corner, leave away from black, enjoy the sunshine....
MyEclipse下XFire开发Webservice实例 
最近在研究JAVA开发Webservice,发现网络上比较流行的几种选择AXIS、XFire、CFX(XFire的下一代),前几天转了几篇关于这三种选择的比较的文章,对它们已经有了些概念。决定自己实践一个例子
在开始前,先介绍一些概念:

XFire Java SOAP框架概述 (摘自:http://tech.it168.com/j/e/2006-10-28/200610281432707.shtml )
MyEclipse Web Services是建立在XFire Java SOAP框架和工具基础上的, XFire是一款开源的Java SOAP框架。它拥有一个轻量级的信息处理模块,通过STAX来与SOAP信息相结合。提供了一个工作在Web Services下的简单API,支持POJO和schema开发. XFire支持 Web Services standards,Spring 整合, 支持JBI , 支持 JAXB ,XMLBeans,Java 5 和JAX-WS.并支持HTTP, JMS, XMPP, In-memory传输协议

一、环境配置:MyEclipse7.0
JDK1.6
二、创建Web Service Project
1)在MyEclipse中选择File—>New—>Other,选择Web Service Project

2)Project Name:WebServiceServer,Framework:XFire,其他选项默认

3)Next,这一步保持默认值
4)Project Library选择,选择XFire 1.2 Core Libraries

5)Finish,创建成功后看到的工程目录如下:

6)完成以上5步后,查看WebRoot/WEB-INF/web.xml
这里指明了当遇到/services/*请求时,将选用XFireConfigurableServlet来处理



三、创建Web Service Code
1)通过File—>New—>Other—>Web Services—>Web Service wizard创建JAVA CODE

2)选择通过JAVA CLASS创建Web Service

3)创建HelloWebService.java,通过New创建com.service package,向导将为工程自动创建对应的接口类与实现类

创建成功后查看WebServices/services.xml,发现配置文件多了以下内容:

4)修改HelloWebServiceImpl.java
package com.service;
//Generated by meteorWJ

public class HelloWebServiceImpl implements IHelloWebService {

public String example(String message) {
return getAuthor()+","+message;
}
private String getAuthor(){
return "meteorWJ";
}

}
四、部署并测试WebSericeServer
1)部署WebServiceServer

在部署向导中选择项目、服务器

2)启动服务器

3)测试WebService
MyEclipse提供了一个Web Service Explorer来测试Web Service
 
选择列表中的Launch SOAP Web Services Explorer
4)选择WSDL模式
 
5)在Explorer中选择WSDL Main,在右边的URL中输入
http://locahost:9090/WebServiceServer/services/HelloWebService?WSDL,单击"Go"
其中9090是服务器端口号,services在之前的web.xml中指定
若在Status中显示成功打开WSDL文件则测试成功

五、创建WebService客户端
经过以上几步,我们已经成功发布了一个WebService,现在需要创建一个客户端来调用该服务
1)创建Java Project:WebServiceClient
2)引入MyEclipse Libraries
右键WebServiceClient—>Build Path—>Add Libraries
 
选择XFire 1.2 HTTP Client Libraries
 
3)创建HelloWebService.java
在src目录下创建com.client.HelloWebService.java
package com.client;

import java.net.URL;
import org.codehaus.xfire.client.Client;

public class HelloWebService {
public static void main(String[] args) throws Exception
{
Client client = new Client(new URL("http://localhost:9090/WebServiceServer/services/HelloWebService?wsdl"));
Object[] results = client.invoke("example", new Object[] {"hello"});
System.out.println((String) results[0]);
}

右键点击Run As>Java Application,在控制台中看到如下输出
本次实例到此就算完成了。
发表于 @ 2009年09月12日 09:28:00 | | 举报| 


热点排行