CXF中的WebService错误
问题描述:
我在eclipse中创建了一个wsdl,并且我使用Apache CXF生成了类。之后,我将该服务集成到Jetty Server中。我实现了服务器端代码。我使用SOAP UI工具来测试服务器的实现。虽然我执行我收到错误的代码一样 错误:CXF中的WebService错误
WARN 23:47:30,240 | org.apache.cxf.aegis.type.TypeUtil | xsi:type absent, and no type available for sessionId
WARN 23:47:30,240 | org.apache.cxf.aegis.type.TypeUtil | xsi:type absent, and no type available for serverUrlenter code here
WARN 23:47:30,240 | org.apache.cxf.aegis.type.TypeUtil | xsi:type absent, and no type available for cipherTextValue
INFO 23:47:44,188 | org.apache.cxf.interceptor.LoggingOutInterceptor | Outbound Message
这里的sessionId,和的serverUrl是cipherTextValue的投入。我不知道如何解决这个错误。任何人都可以告诉我答案。我在这里*了。
示例XML请求:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:dpa="http://ws.ciphercloud.com/dpaas/">
<soapenv:Header/>
<soapenv:Body>
<dpa:detokenizeRequest>
<sessionId>?</sessionId>
<serverUrl>?</serverUrl>
<!--1 or more repetitions:-->
<cipherTextValue>**ajgkjfagla009!</cipherTextValue>
</dpa:detokenizeRequest>
</soapenv:Body>
</soapenv:Envelope>
还有一两件事是有任何教程如何配置使用码头web服务。
请回复我。这是我的拦截...
Thanx提前。
感谢您的回复bmargulies。
我使用Aegis它工作正常,当我从那时生成从java代码的wsdl我的web服务工作正常。但是当时我从wsdl生成java代码,得到这种类型的错误。我正在发送我的appcontext.xml文件。
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"
xmlns:cxf="http://cxf.apache.org/core" xmlns:sec="http://cxf.apache.org/configuration/security"
xmlns:http="http://cxf.apache.org/transports/http/configuration"
xmlns:httpj="http://cxf.apache.org/transports/http-jetty/configuration"
xmlns:jaxws="http://cxf.apache.org/jaxws"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-2.5.xsd
http://cxf.apache.org/core
http://cxf.apache.org/schemas/core.xsd
http://cxf.apache.org/jaxws
http://cxf.apache.org/schemas/jaxws.xsd
http://cxf.apache.org/configuration/security
http://cxf.apache.org/schemas/configuration/security.xsd
http://cxf.apache.org/transports/http/configuration
http://cxf.apache.org/schemas/configuration/http-conf.xsd
http://cxf.apache.org/transports/http-jetty/configuration
http://cxf.apache.org/schemas/configuration/http-jetty.xsd"
default-autowire="byName">
<!-- Load CXF modules from cxf.jar -->
<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" />
<!-- Enable message logging using the CXF logging feature -->
<cxf:bus>
<cxf:features>
<cxf:logging />
</cxf:features>
</cxf:bus>
<!-- The service bean -->
<bean id="dataProtectionWebServiceImpl" class="com.ciphercloud.ws.dpaas.DataProtectionWebServiceImpl" />
<!-- Aegis data binding -->
<bean id="aegisBean" class="org.apache.cxf.aegis.databinding.AegisDatabinding"
scope="prototype" />
<bean id="jaxws-and-aegis-service-factory" class="org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean"
scope="prototype">
<property name="dataBinding" ref="aegisBean" />
<property name="serviceConfigurations">
<list>
<bean class="org.apache.cxf.jaxws.support.JaxWsServiceConfiguration" />
<bean class="org.apache.cxf.aegis.databinding.AegisServiceConfiguration" />
<bean class="org.apache.cxf.service.factory.DefaultServiceConfiguration" />
</list>
</property>
</bean>
<!-- Service endpoint -->
<!--
See http://incubator.apache.org/cxf/faq.html regarding CXF + Spring
AOP
-->
<jaxws:endpoint id="DataProtectionWebService"
implementorClass="com.ciphercloud.ws.dpaas.DataProtectionWebServiceImpl"
implementor="#dataProtectionWebServiceImpl" address="/ws">
<jaxws:serviceFactory>
<ref bean="jaxws-and-aegis-service-factory" />
</jaxws:serviceFactory>
</jaxws:endpoint>
</beans>
这是我的appcontext.xml。当java代码为wsdl时,这很好。但是当我从wsdl生成代码到java时,知道Aegis的问题。
正如你所说我会用jaxb而不是宙斯盾。同时有没有任何关于你的问题的教程,请给我链接。同时我也会看到这个jaxb。
答
您不能在WSDL优先服务中使用Aegis。你必须使用JAX-B。
什么版本的CXF? – bmargulies 2011-12-19 19:01:40