环境:
windows XP, jdk1.6, CXF2.3
test.wsdl文件:
<xs:complexType name="CalendarTime">
<xs:sequence>
<xs:choice>
<xs:element name="day" type="xs:unsignedInt"/>
<xs:element name="week" type="xs:unsignedInt"/>
</xs:choice>
<xs:element name="seconds" type="xs:unsignedInt"/>
</xs:sequence>
</xs:complexType>
利用CXF2.3的wsdl2java命令生成javaBean如下:
public class CalendarTime {
@XmlSchemaType(name = "unsignedInt")
protected Long day;
@XmlSchemaType(name = "unsignedInt")
protected week week;
@XmlSchemaType(name = "unsignedInt")
protected long seconds;
......
}
wsdl中day、week、seconds同样定义为type="xs:unsignedInt",生成的javaBean的类型却不同:
day---
Long
week--
Long
seconds--
long
后来实验发现:<xs:choice>包含的类型都会生成基本类型封装类,而在<xs:choice>之外的则生成基本类型。
不知道这是为什么,有哪位高人指点一下?
分享到:
相关推荐
- **`<xs:sequence>`**:定义元素的顺序集合,其中每个元素都可以通过`<xs:element>`来声明。 ##### 2. 消息部分(`<wsdl:message>`) - **`<wsdl:message name="sayHello">`**:表示一个消息,即客户端发送到...
<cxf:bus-ref>myBus</cxf:bus-ref> </cxf:client> ``` 4. **执行调用**:在Spring配置生效后,可以直接通过客户端接口进行服务调用。 **总结** Apache CXF提供了简洁的API和工具,使得发布和调用SOAP 1.2 Web...
在上述配置中,`<cxf:bus>`定义了CXF总线,`<cxf:features>`添加了日志记录功能。`<bean>`定义了服务实现,`<cxf:service>`则声明了服务接口和地址。 在实际开发中,【压缩包子文件的文件名称列表】"CXF"可能包含...
例如,一个简单的标准形式策略表达式是:<wsp:Policy><wsp:ExactlyOne/><wsp:Policy>。策略断言则被包含在<wsp:All>元素内,这些断言也可以包含自己的嵌套策略表达式。 清单1展示了WS-SecurityPolicy的一个嵌套策略...
<bean class="org.apache.cxf.aegis.databinding.AegisDatabinding" /> </cxf:dataBinding> </cxf:jaxws-service> <!-- 服务接口 --> <bean id="myServiceInterface" class="com.example.MyService"/> <!-- ...
<cxf:inInterceptors> <bean class="com.example.AuthorizationInterceptor"/> </cxf:inInterceptors> <cxf:outInterceptors> <bean class="com.example.AuthorizationInterceptor"/> </cxf:outInterceptors> ...
<cxf:frontend>JAXWS</cxf:frontend> <bean id="cxfServlet" class="org.apache.cxf.transport.servlet.CXFServlet"> <load-on-startup>1</load-on-startup> </bean> <import resource="classpath:META-INF/...
<cxf:features> <cxf:logging/> </cxf:features> </cxf:bus> <bean id="helloWorldService" class="com.example.HelloWorldServiceImpl"/> <jaxws:endpoint id="helloWorldEndpoint" implementor="#...
在上面的配置中,`<cxf:features>`元素启用了JSON支持,`<cxf:jsr311/>`则支持JAX-RS标准,使得CXF可以处理RESTful请求。`<jaxws:endpoint>`定义了服务的实现类和访问地址。 然后,创建一个Java类(如`...
<artifactId>cxf-rt-frontend-jaxws</artifactId> <version>3.x.x</version> </dependency> <dependency> <groupId>org.apache.cxf</groupId> <artifactId>cxf-rt-transports-http</artifactId> <version>3.x...
<authentication></authentication> <userorgid></userorgid>UserOrgID <userid></userid>Hubs1 <userpsw></userpsw>password </soap:header> ``` 在这个例子中,`Header` 包含了 `authentication`、`userorgid`...
在实际开发中,开发者可能需要利用Eclipse或IntelliJ IDEA等IDE中的CXF插件来简化配置和生成客户端代码。此外,使用Maven或Gradle作为构建工具,可以方便地管理依赖和自动化构建过程。 在文件名“webServicer”中,...
<artifactId>cxf-rt-frontend-jaxws</artifactId> <version>3.x.x</version> </dependency> <dependency> <groupId>org.apache.cxf</groupId> <artifactId>cxf-rt-transports-http</artifactId> <version>3.x...
<artifactId>cxf-rt-frontend-jaxws</artifactId> <version>3.x.x</version> </dependency> <dependency> <groupId>org.apache.cxf</groupId> <artifactId>cxf-rt-transports-http</artifactId> <version>3.x.x...
<artifactId>cxf-rt-frontend-jaxws</artifactId> <version>2.7.10</version> </dependency> <dependency> <groupId>org.apache.cxf</groupId> <artifactId>cxf-rt-transports-http</artifactId> <version>...
-- 这三行的配置不用去检查对应的路径下是否有对应的文件,因为cxf会自动生成的--> <import resource="classpath:META-INF/cxf/cxf.xml" /> <import resource="classpath:META-INF/cxf/cxf-extension-soap.xml" /...
<artifactId>cxf-rt-frontend-jaxws</artifactId> <version>3.0.8</version> </dependency> <dependency> <groupId>org.apache.cxf</groupId> <artifactId>cxf-rt-transports-http</artifactId> <version>...
<artifactId>cxf-rt-frontend-jaxws</artifactId> <version>3.x.x.RELEASE</version> </dependency> <dependency> <groupId>org.apache.cxf</groupId> <artifactId>cxf-rt-transports-http</artifactId> ...
它是通过`<wsdl:definitions>`中的`<wsdl:message>`和`<wsdl:portType>`元素定义的。 - `<wsdl:message>`: 描述了构成操作的消息结构,包括输入和输出消息的数据类型。 - `<wsdl:portType>`: 定义了服务端口的操作...
<bean id="loggingOutInterceptor" class="org.apache.cxf.interceptor.LoggingOutInterceptor" /> <cxf:inInterceptors> <ref bean="loggingInInterceptor" /> </cxf:inInterceptors> <cxf:outInterceptors> ...