Reputation: 763
I created a wsdl in eclipse and I generated classes using Apache CXF. And after that I integrated that service in Jetty Server. I implement server side code. I use SOAP UI tool to test the implementation of server. While I am executing the code i am getting the error like ERROR:
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
Here sessionId, serverUrl and cipherTextValue are the inputs. I don't know how to resolve this error. Can anybody tell me the answer. I blocked here.
Sample XML Request:
<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>
And one more thing is there any tutorials how to configure the webservices using Jetty.
Please reply to me. This is the blocker for me...
Thanx in advance.
Thanx for your reply bmargulies.
I use Aegis it works fine when i generate the wsdl from java code at that time my webservices are working fine. But i generated java code from the wsdl at that time i am getting this type of error. I am sending my appcontext.xml file.
<?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>
This is my appcontext.xml. This is fine when java code to wsdl. But know the problem with Aegis when i generated code from wsdl to java.
As you said i will use jaxb instead of Aegis. Meanwhile is there any tutorial related to your concern please send me the links. Meanwhile i will also see this jaxb.
Upvotes: 2
Views: 1590
Reputation: 100186
You cannot use Aegis in a WSDL-first service. You have to use JAX-B.
Upvotes: 1