Trilok created CXF-6039:
---------------------------
Summary: XML to Java Config of CXF Jaxws Endpoint
Key: CXF-6039
URL: https://issues.apache.org/jira/browse/CXF-6039
Project: CXF
Issue Type: Bug
Environment: Spring 3.2.8
CXF 2.7.11
Reporter: Trilok
I am Trying to convert XML configuration to java configuration for jaxws
endpoint. XML configuration works fine.
I tried both ways to convert XML to java config. Either one is working. I am
doing bit wise copy of XML to java.
XML Configuation:
<jaxws:endpoint id="userService"
implementor="com.example.components.userdata.ws.ImportUserEndpoint"
address="/userService"
xmlns:user="urn:example:wsdl:user:soap:v1"
endpointName="user:userSoapServicePort" serviceName="user:userSoapServicePorts"
wsdlLocation="classpath:/service/user-soap-v1.wsdl">
<jaxws:properties>
<entry key="schema-validation-enabled" value="true" />
</jaxws:properties>
<jaxws:binding>
<soap:soapBinding mtomEnabled="true" version="1.2" />
</jaxws:binding>
</jaxws:endpoint>
First way using jaxwsEndpointImpl:
@Bean
public ApplicationTransport applicationTransport() {
return new ApplicationTransport();
}
@Bean
@Scope(value = "request", proxyMode = ScopedProxyMode.TARGET_CLASS)
public ImportUserEndpoint importUserEndpoint() {
return new ImportUserEndpoint(applicationTransport());
}
@Bean
@Scope(value = "request", proxyMode = ScopedProxyMode.TARGET_CLASS)
public Endpoint userService() {
String namespaceURI = "urn:example:wsdl:user:soap:v1";
QName endpointName = new QName(namespaceURI,
"userSoapServicePort");
QName serviceName = new QName(namespaceURI,
"userSoapServicePorts");
EndpointImpl Endpoint = new EndpointImpl(cxfBus,
importUserEndpoint());
Endpoint.setServiceName(serviceName);
Endpoint.setEndpointName(endpointName);
Endpoint.setWsdlLocation("classpath:/service/user-soap-v1.wsdl");
Endpoint.setImplementorClass(ImportUserEndpoint.class);
Endpoint.setBindingUri(SOAPBinding.SOAP12HTTP_MTOM_BINDING);
Endpoint.setAddress("/userService1");
Endpoint.publish();
return Endpoint;
}
Second way using JaxWSserverfactory:
@Bean
public ApplicationTransport applicationTransport() {
return new ApplicationTransport();
}
@Bean
@Scope(value = "request", proxyMode = ScopedProxyMode.TARGET_CLASS)
public ImportUserEndpoint importUserEndpoint() {
return new ImportUserEndpoint(applicationTransport());
}
@Bean
@Scope(value = "request", proxyMode = ScopedProxyMode.TARGET_CLASS)
public ImportUserEndpoint userService() {
ImportUserEndpoint importUserEndpoint = importUserEndpoint();
JaxWsServerFactoryBean svrFactory = new
JaxWsServerFactoryBean();
svrFactory.setServiceClass(UserService.class);//This is the
service contract
svrFactory.setServiceBean(importUserEndpoint);
svrFactory.setAddress("/userService");
svrFactory.create();
return importUserEndpoint;
}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)