需求:
使用xfire开发webservice过程中出现生成的wsdl中的参数名称为in0,in1等不友好的参数名称,要求参数有一定的含义
解决办法:
1.XML配置文件
在接口类同一包下面建一个 接口类名称.aegis.xml 的文件,内容如下
<?xml version="1.0" encoding="UTF-8"?>
<mappings>
<mapping>
<method name="receive">
<parameter index="0" mappedName="destnum" />
<parameter index="1" mappedName="srcnum" />
<parameter index="2" mappedName="msg" />
<parameter index="3" mappedName="msgtype" />
</method>
</mapping>
</mappings>
name为接口中方法名称
index为方法中第一个参数
mappedName为替换后的名称
2.JSR181注解配置(也称:annotation方式)
@WebService
public interface SMSstaterepReceive {
@WebMethod
@WebResult(name="result") //返回值的name
public String receive(@WebParam(name="destnum")String destnum,@WebParam(name="srcnum")String srcnum,@WebParam(name="msg")String msg,@WebParam(name="msgtype")int msgtype);//接收接口;@WebParam 参数name
}
services.xml配置文件配置接口
<service>
<!-- 接收上家短信平台的状态报告、上行信息接口 -->
<name>SMSreceiveService</name>
<namespace>http://scommnet.com/service/SMSreceiveService</namespace>
<serviceClass>com.scommnet.sms.extend.scommnet.webservices.service.SMSstaterepReceive</serviceClass>
<implementationClass>com.scommnet.sms.extend.scommnet.webservices.service.impl.SMSstaterepReceiveImpl</implementationClass>
<serviceFactory>jsr181</serviceFactory> <!--这个必须配置,要不还是显示in0-->
分享到:
相关推荐
4. **创建服务客户端**:在你的应用中,实例化由XFire生成的客户端代理类,然后调用其方法来执行Web服务操作。例如: ```java ServiceClient client = new ServiceClient(); client.setEndpoint(...
2. **使用JAXB注解**:如果你的类是基于JAXB(Java Architecture for XML Binding)的,可以通过添加`@XmlElement(name="新字段名")`注解来改变WSDL中显示的字段名称,而无需修改源代码中的属性名。 3. **自定义...
XFire、WSDL4J、JAX-RPC和JDOM是构建和处理Web服务时的关键组件。让我们详细了解一下这些技术。 1. **XFire**: XFire(后来被Apache CXF所吸收)是一个Java Web服务框架,它简化了创建和消费Web服务的过程。XFire...
在描述中提到"工作的地方不能上网更新",这意味着在离线环境下使用XFire插件生成WSDL文件。在这种情况下,通常需要提前下载所需的依赖库,并确保所有必要的组件都已经安装在本地环境中,因为在线生成可能需要访问...
org.codehaus.xfire.wsdl11.parser.SchemaInfo org.codehaus.xfire.wsdl11.parser.WSDLServiceBuilder org.codehaus.xfire.wsdl11.parser.WSDLServiceConfigurator org.codehaus.xfire.wsdl11.parser....
在本文中,我们将深入探讨Xfire调用Web服务时遇到的参数传递问题以及解决策略。 首先,让我们了解Web服务的基本概念。Web服务基于SOAP(Simple Object Access Protocol)协议,通过HTTP协议进行通信,使得不同的...
WebService经典24篇网文汇总,包含axis2_Xfire搭建_WSDL详解_自动生成客户端和WSDL等,自己找了好久的内容; 都是自己学习过程中网络的知识,找了很久,里边有一些自己的标记,如果发现chm内容是空白,注意看一下,其实是...
在IT行业中,Web服务(Web Service)...总之,解决Xfire调用Web服务参数传递问题需要对XML序列化、SOAP协议、命名空间、SOAP绑定配置和安全机制有深入理解。通过细心排查和调试,我们一定能找到问题的根源并成功修复。
org.codehaus.xfire.wsdl11.parser.SchemaInfo org.codehaus.xfire.wsdl11.parser.WSDLServiceBuilder org.codehaus.xfire.wsdl11.parser.WSDLServiceConfigurator org.codehaus.xfire.wsdl11.parser....
以下四个类调用了XmlSchema-1.1.jar包 因与cxf包xmlschema-core-*.jar 冲突 故重新打包 XmlSchema-1.1.jar 源码修改原类径的方法来重新打包避免冲突 ... org.codehaus.xfire.wsdl11.parser.XmlSchemaURIResolver
org.codehaus.xfire.wsdl11.parser.SchemaInfo org.codehaus.xfire.wsdl11.parser.WSDLServiceBuilder org.codehaus.xfire.wsdl11.parser.WSDLServiceConfigurator org.codehaus.xfire.wsdl11.parser....
然后,你可以直接在服务接口或实现中引用这些类,Xfire会自动处理序列化和反序列化的过程。 例如,假设我们有一个名为`Person`的外部类: ```java public class Person { private String name; private int age;...
org.codehaus.xfire.wsdl11.parser.SchemaInfo org.codehaus.xfire.wsdl11.parser.WSDLServiceBuilder org.codehaus.xfire.wsdl11.parser.WSDLServiceConfigurator org.codehaus.xfire.wsdl11.parser....
在Java中,有多个流行的WebService框架,其中包括AXIS、XFire以及本文主要讨论的Apache CXF。 AXIS是早期广泛使用的Java WebService框架,它提供了一种简单的方式来创建和消费Web服务,支持SOAP和WSDL。然而,随着...
在这个例子中,`MyWebService`是服务接口类,`myMethod`是服务方法名,`"参数"`是传递给服务的方法参数。注意,实际应用中可能需要配置更多的属性,如HTTP连接超时、安全设置等。 五、异常处理 在调用Web服务时,...
在Java中,有很多库可以帮助开发者实现对Web服务的调用,其中之一就是XFire。这篇博客“Java使用XFire调用WebService接口”显然是讨论如何利用XFire这个开源框架来与Web服务交互。 XFire是Apache CXF项目的前身,它...
wsdl4j-1.5.2.jar wstx-asl-3.0.1.jar xfire-aegis-1.2.2.jar xfire-annotations-1.2.2.jar xfire-core-1.2.2.jar xfire-java5-1.2.2.jar xfire-jsr181-api-1.0-M1.jar xfire-spring-1.2.2.jar xfire-xmlbeans-1.2.2...
3. **添加XFire依赖**:将XFire的JAR文件添加到项目的类路径中,这些文件通常可以从XFire的官方网站或者Maven仓库下载。 4. **编写服务接口和服务实现**:定义一个Java接口,声明服务的方法,然后实现该接口。服务...
生成XFire客户端的过程主要是通过反向工程从Web服务的WSDL(Web Service Description Language)文件中自动生成Java客户端代码。WSDL文件定义了Web服务的接口、消息格式、操作和地址等信息。以下是一般步骤: 1. **...
在XFire客户端调用实现中,首先需要获取到Web服务的WSDL文件,这个文件描述了服务的接口、方法、参数和返回类型。通过XFire提供的工具,我们可以根据WSDL生成对应的客户端代理类。这些代理类封装了调用远程服务的...