Yes, the SEI has been generated by the maven plugin :
<!-- CXF wsdl2java generator, will plugin to the compile goal
-->
<plugin>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-codegen-plugin</artifactId>
<version>${cxf-version}</version>
<executions>
<execution>
<id>generate-sources</id>
<phase>generate-sources</phase>
<configuration>
<sourceRoot>${basedir}/target/generated/src/main/java
</sourceRoot>
<wsdlOptions>
<wsdlOption>
<wsdl>${basedir}/src/main/resources/wsdl/report_incident.wsdl
</wsdl>
</wsdlOption>
</wsdlOptions>
</configuration>
<goals>
<goal>wsdl2java</goal>
</goals>
</execution>
</executions>
</plugin>
Interface generated :
package org.apache.camel.example.reportincident.service;
import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebResult;
import javax.jws.WebService;
import javax.jws.soap.SOAPBinding;
import javax.xml.bind.annotation.XmlSeeAlso;
import org.apache.camel.example.reportincident.domain.InputReportIncident;
import org.apache.camel.example.reportincident.domain.OutputReportIncident;
/**
* This class was generated by Apache CXF 2.2-SNAPSHOT
* Mon Jan 26 15:33:08 CET 2009
* Generated source version: 2.2-SNAPSHOT
*
*/
@WebService(targetNamespace =
"http://reportincident.example.camel.apache.org", name =
"ReportIncidentEndpoint")
@XmlSeeAlso({ObjectFactory.class})
@SOAPBinding(parameterStyle = SOAPBinding.ParameterStyle.BARE)
public interface ReportIncidentEndpoint {
@WebResult(name = "outputReportIncident", targetNamespace =
"http://reportincident.example.camel.apache.org", partName = "out")
@WebMethod(operationName = "ReportIncident", action =
"http://reportincident.example.camel.apache.org/ReportIncident")
public OutputReportIncident reportIncident(
@WebParam(partName = "in", name = "inputReportIncident",
targetNamespace = "http://reportincident.example.camel.apache.org")
InputReportIncident in
);
}
and servlce :
import java.net.MalformedURLException;
import java.net.URL;
import javax.xml.namespace.QName;
import javax.xml.ws.WebEndpoint;
import javax.xml.ws.WebServiceClient;
import javax.xml.ws.WebServiceFeature;
import javax.xml.ws.Service;
/**
* This class was generated by Apache CXF 2.2-SNAPSHOT
* Mon Jan 26 15:33:08 CET 2009
* Generated source version: 2.2-SNAPSHOT
*
*/
@WebServiceClient(name = "ReportIncidentEndpointService",
wsdlLocation =
"file:/D:/Dvlpt/Java/workspace-ganymede/osgi/reportincident.domain/src/main/resources/wsdl/report_incident.wsdl",
targetNamespace =
"http://reportincident.example.camel.apache.org")
public class ReportIncidentEndpointService extends Service {
public final static URL WSDL_LOCATION;
public final static QName SERVICE = new
QName("http://reportincident.example.camel.apache.org",
"ReportIncidentEndpointService");
public final static QName ReportIncidentService = new
QName("http://reportincident.example.camel.apache.org",
"ReportIncidentService");
static {
URL url = null;
try {
url = new
URL("file:/D:/Dvlpt/Java/workspace-ganymede/osgi/reportincident.domain/src/main/resources/wsdl/report_incident.wsdl");
} catch (MalformedURLException e) {
System.err.println("Can not initialize the default wsdl from
file:/D:/Dvlpt/Java/workspace-ganymede/osgi/reportincident.domain/src/main/resources/wsdl/report_incident.wsdl");
// e.printStackTrace();
}
WSDL_LOCATION = url;
}
public ReportIncidentEndpointService(URL wsdlLocation) {
super(wsdlLocation, SERVICE);
}
public ReportIncidentEndpointService(URL wsdlLocation, QName
serviceName) {
super(wsdlLocation, serviceName);
}
public ReportIncidentEndpointService() {
super(WSDL_LOCATION, SERVICE);
}
/**
*
* @return
* returns ReportIncidentEndpoint
*/
@WebEndpoint(name = "ReportIncidentService")
public ReportIncidentEndpoint getReportIncidentService() {
return super.getPort(ReportIncidentService,
ReportIncidentEndpoint.class);
}
/**
*
* @param features
* A list of {...@link javax.xml.ws.WebServiceFeature} to configure on
the proxy. Supported features not in the <code>features</code> parameter
will have their default values.
* @return
* returns ReportIncidentEndpoint
*/
@WebEndpoint(name = "ReportIncidentService")
public ReportIncidentEndpoint
getReportIncidentService(WebServiceFeature... features) {
return super.getPort(ReportIncidentService,
ReportIncidentEndpoint.class, features);
}
}
Joe Luo wrote:
>
>
> I guess you must have already defined the bean ref
> "reportIncidentEndpoint" somewhere in your spring configure file to point
> to a SEI (Service Endpoint Interface) class name.
>
> Then did you generate the SEI using CXF "wsdl2java" tool against your
> WSDL?
>
>
>> Unfortunately, this config generates the following error :
>>
>> 2009-03-04 16:54:30,740 ERROR MainSupport - Failed:
>> java.lang.IllegalArgumentException: serviceClass must be
>> specified
>
>
> Send instant messages to your online friends http://uk.messenger.yahoo.com
>
>
>
-----
Charles Moulliard
SOA Architect
My Blog : http://cmoulliard.blogspot.com/ http://cmoulliard.blogspot.com/
--
View this message in context:
http://www.nabble.com/camel-cxf---dataformat-tp22332652p22333985.html
Sent from the Camel - Users mailing list archive at Nabble.com.