Skip to main content

JaxWS WSDL customization

Please note these forums are being decommissioned and use the new and improved forums at
2 replies [Last post]
Joined: 2005-04-04

I'm using the start-from-java approach to develop a webservice , that will be published to WebLogic 10.3.6.
I'm using standart annotations (@WebService .. ect`) to define a WS Beans , methods and Types.
I'm using a JWSC ant task to generate the deployable service and clientgen ant task to generate client artefacts.

The output is (as expected) fine , but I have certain restrictions upon the generated WSDL file , which I can't find the solution for. I've tried to play around with binding xml file , but the changes are applied only to the generated client artefacts .
The restrictions are :


the schema import has to define a targetNamespace="" element

      <xsd:import namespace="" schemaLocation="CopyOfCopyOfWithInterfaceService_schema1.xsd"/>

although the targetNamespace element is specified is the xsd schema file


The message part

<input message="**tns:get**"/>
      <output message="tns:getResponse"/>

has to have the naming convention of `*Request`
Annotating the parameter with `@WebParam(name="someRequest")` didn't change the message part in the wsdl , but instead in the xsd schema file .

Reply viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
Joined: 2012-11-05

could you show the signature of the appropriate method? with all annotations...

Joined: 2005-04-04

package com.example.common.interfaces;
<pre>import javax.jws.WebMethod;

import javax.jws.WebParam;
import javax.jws.WebResult;
import javax.jws.WebService;
import javax.jws.soap.SOAPBinding;
import javax.jws.soap.SOAPBinding.Style;
import; import com.example.common.datatypes.two.ComplexInput;
import com.example.common.datatypes.two.ComplexOutput;
import; @WebService(targetNamespace="")
parameterStyle=SOAPBinding.ParameterStyle.WRAPPED )

public interface CopyOfCopyOfIWithInterfacePortType { @WebMethod(operationName="getComplexType")
public ComplexOutput getComplexType(  @WebParam(name="getComplexTypeRequest",targetNamespace="") ComplexInput argument );