<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<body link="#355491" alink="#4262a1" vlink="#355491" style="background: #e2e2e2; margin: 0; padding: 20px;">

<div>
        <table cellpadding="0" bgcolor="#FFFFFF" border="0" cellspacing="0" style="border: 1px solid #dadada; margin-bottom: 30px; width: 100%; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
                <tbody>
                        <tr>

                                <td>

                                        <table border="0" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF" style="border: solid 2px #ccc; background: #dadada; width: 100%; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
                                                <tbody>
                                                        <tr>
                                                                <td bgcolor="#000000" valign="middle" height="58px" style="border-bottom: 1px solid #ccc; padding: 20px; -moz-border-radius-topleft: 3px; -moz-border-radius-topright: 3px; -webkit-border-top-right-radius: 5px; -webkit-border-top-left-radius: 5px;">
                                                                        <h1 style="color: #333333; font: bold 22px Arial, Helvetica, sans-serif; margin: 0; display: block !important;">
                                                                        <!-- To have a header image/logo replace the name below with your img tag -->
                                                                        <!-- Email clients will render the images when the message is read so any image -->
                                                                        <!-- must be made available on a public server, so that all recipients can load the image. -->
                                                                        <a href="http://community.jboss.org/index.jspa" style="text-decoration: none; color: #E1E1E1">JBoss Community</a></h1>
                                                                </td>

                                                        </tr>
                                                        <tr>
                                                                <td bgcolor="#FFFFFF" style="font: normal 12px Arial, Helvetica, sans-serif; color:#333333; padding: 20px;  -moz-border-radius-bottomleft: 4px; -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 5px; -webkit-border-bottom-left-radius: 5px;"><h3 style="margin: 10px 0 5px; font-size: 17px; font-weight: normal;">
    JBossWS - FAQ
</h3>
<span style="margin-bottom: 10px;">
    modified by <a href="http://community.jboss.org/people/asoldano">Alessio Soldano</a> in <i>JBoss Web Services</i> - <a href="http://community.jboss.org/docs/DOC-13646">View the full document</a>
</span>
<hr style="margin: 20px 0; border: none; background-color: #dadada; height: 1px;">

<div class="jive-rendered-content"><p><div class="toc" style="border: 1px dashed black; padding: 10px;"><ul><ul><li>
<a class="jive-link-anchor-small" href="#General">General</a>
</li>
<ul><li>
<a class="jive-link-anchor-small" href="#Which_version_of_App_Server_is_JBossWS_supported_for">Which version of App Server is JBossWS supported for?</a>
</li>
<li>
<a class="jive-link-anchor-small" href="#Why_are_my_forum_posts_not_answered_more_quickly">Why are my forum posts not answered more quickly?</a>
</li>
<li>
<a class="jive-link-anchor-small" href="#Are_there_any_samples_I_can_look_at">Are there any samples I can look at?</a>
</li>
<li>
<a class="jive-link-anchor-small" href="#What_are_the_advantages_of_JAXWS_over_JAXRPC">What are the advantages of JAX-WS over JAX-RPC?</a>
</li>
</ul><li>
<a class="jive-link-anchor-small" href="#Development">Development</a>
</li>
<ul><li>
<a class="jive-link-anchor-small" href="#What_do_I_do_if_I_think_there_is_a_bug">What do I do if I think there is a bug?</a>
</li>
<li>
<a class="jive-link-anchor-small" href="#Where_is_the_JBossWS_source_repository">Where is the JBossWS source repository?</a>
</li>
<li>
<a class="jive-link-anchor-small" href="#How_can_I_build_and_install_the_latest">How can I build and install the latest?</a>
</li>
</ul><li>
<a class="jive-link-anchor-small" href="#Server">Server</a>
</li>
<ul><li>
<a class="jive-link-anchor-small" href="#How_does_rewriting_of_the_soap_address_in_WSDL_work">How does rewriting of the soap address in WSDL work?</a>
</li>
<li>
<a class="jive-link-anchor-small" href="#How_do_I_know_what_endpoint_address_is_being_used">How do I know what endpoint address is being used?</a>
</li>
<li>
<a class="jive-link-anchor-small" href="#How_to_use_JDK_JMX_JConsole_with_JBossWS">How to use JDK JMX JConsole with JBossWS?</a>
</li>
<li>
<a class="jive-link-anchor-small" href="#Why_Im_getting_propertyname_is_not_valid_property_on_class_mypackagejaxwsPropertyname">Why I'm getting "propertyname is not valid property on class mypackage.jaxws.Propertyname"?</a>
</li>
</ul><li>
<a class="jive-link-anchor-small" href="#Client">Client</a>
</li>
<ul><li>
<a class="jive-link-anchor-small" href="#How_do_I_generate_the_required_artifacts">How do I generate the required artifacts?</a>
</li>
<li>
<a class="jive-link-anchor-small" href="#How_can_I_leverage_the_client_deployment_model">How can I leverage the client deployment model?</a>
</li>
<li>
<a class="jive-link-anchor-small" href="#How_can_I_setup_my_client_to_use_a_proxy">How can I setup my client to use a proxy?</a>
</li>
<li>
<a class="jive-link-anchor-small" href="#What_client_artifacts_are_thread_safe">What client artifacts are thread safe?</a>
</li>
<li>
<a class="jive-link-anchor-small" href="#What_client_jars_do_I_need">What client jars do I need?</a>
</li>
</ul><li>
<a class="jive-link-anchor-small" href="#Tools">Tools</a>
</li>
<ul><li>
<a class="jive-link-anchor-small" href="#Why_do_I_get_a_NullPointerException_when_using_wstools_legacy_JAXRPC_tools">Why do I get a NullPointerException when using wstools? (legacy JAXRPC tools)</a>
</li>
<li>
<a class="jive-link-anchor-small" href="#How_can_I_configure_RPC_parameter_names">How can I configure RPC parameter names?</a>
</li>
<li>
<a class="jive-link-anchor-small" href="#Customizing_WSDL_Schema_Generation">Customizing WSDL Schema Generation</a>
</li>
<li>
<a class="jive-link-anchor-small" href="#Customizing_WSDL_to_Java_Mapping">Customizing WSDL to Java Mapping</a>
</li>
</ul><li>
<a class="jive-link-anchor-small" href="#Others">Others</a>
</li>
<ul><li>
<a class="jive-link-anchor-small" href="#How_to_force_JBossWS_to_generate_SOAP_messages_with_xml_declaration">How to force JBossWS to generate SOAP messages with xml declaration</a>
</li>
</ul></ul></ul></div></p><h2 id="General">General</h2><h3 id="Which_version_of_App_Server_is_JBossWS_supported_for">Which version of App Server is JBossWS supported for?</h3><p><a class="jive-link-wiki-small" href="http://community.jboss.org/docs/DOC-13569"><span class="active_link">Supported Target Containers</span></a></p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><h3 id="Why_are_my_forum_posts_not_answered_more_quickly">Why are my forum posts not answered more quickly?</h3><p>Posts to the <a class="jive-link-external-small" href="http://www.jboss.com/index.html?module=bb&amp;op=viewforum&amp;f=200">user forum</a> will be dealt with at the community's leisure. If your business is such that you need to rely on <a class="jive-link-external-small" href="http://www.jboss.com/services/profsupport">qualified answers within a known time frame</a>, the forum might not be your preferred support channel.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><h3 id="Are_there_any_samples_I_can_look_at">Are there any samples I can look at?</h3><p>Yes, samples are available from the JBossWS <a class="jive-link-external-small" href="http://labs.jboss.com/jbossws/downloads">download page</a>.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><h3 id="What_are_the_advantages_of_JAXWS_over_JAXRPC">What are the advantages of JAX-WS over JAX-RPC?</h3><p><a class="jive-link-wiki-small" href="http://community.jboss.org/docs/DOC-13568"><span class="active_link">JAX-WS_vs_JAX-RPC</span></a></p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><h2 id="Development">Development</h2><h3 id="What_do_I_do_if_I_think_there_is_a_bug">What do I do if I think there is a bug?</h3><ul><li> Check if it works with the <a class="jive-link-wiki-small" href="http://community.jboss.org/docs/DOC-13547"><span class="active_link">latest sources</span></a>. </li><li> Checkout the <a class="jive-link-external-small" href="http://jira.jboss.com/jira/browse/JBWS?report=com.atlassian.jira.plugin.system.project:roadmap-panel">Road Map</a> if you are using the latest release or the <a class="jive-link-external-small" href="http://jira.jboss.com/jira/browse/JBWS?report=com.atlassian.jira.plugin.system.project:changelog-panel">Change Log</a> if you are using another one. </li><li> Finally, if your bug hasn't been reported yet, please create a <a class="jive-link-external-small" href="http://jira.jboss.com/jira/browse/JBWS?report=com.atlassian.jira.plugin.system.project:openissues-panel">JBossWS JIRA</a> issue and attach a sample deployment that allows us to reproduce what you are seeing. Idealy, the sample deployment is a webapp packaged as a war that shows the issue when we click on a link. The war should also contain the sources.</li></ul><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><h3 id="Where_is_the_JBossWS_source_repository">Where is the JBossWS source repository?</h3><p>Please refer to <a class="jive-link-wiki-small" href="http://community.jboss.org/docs/DOC-13526"><span class="active_link">Subversion</span></a>.</p><h3 id="How_can_I_build_and_install_the_latest">How can I build and install the latest?</h3><p>Please refer to the development guide: <a class="jive-link-wiki-small" href="http://community.jboss.org/docs/DOC-13547">Building_From_Source</a></p><h2 id="Server">Server</h2><h3 id="How_does_rewriting_of_the_soap_address_in_WSDL_work">How does rewriting of the soap address in WSDL work?</h3><p>Please refer to the <a class="jive-link-external-small" href="https://docs.jboss.org/author/display/JBWS/Advanced+User+Guide">advanced user guide section</a> of JBossWS 4.x or later, or to the <a class="jive-link-wiki-small" href="http://community.jboss.org/docs/DOC-13972">user guide's Configuration section</a> (previous JBossWS versions)</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><h3 id="How_do_I_know_what_endpoint_address_is_being_used">How do I know what endpoint address is being used?</h3><p><strong>The endpoint context root is computed as follows</strong></p><p>1.) Use the explicit context root from the web meta data</p><p>Can be set in jboss-web.xml and is only relevant for JSE endpoints.</p><p>2.) Use the explicit context root from @WebContext.contextRoot</p><p>Can only be set on EJB endpoints.</p><p>3.) Use the explicit context root from webservices/context-root</p><p>Can be set in jboss.xml and is only relevant for EJB endpoints.</p><p>4.) Use the explicit context root from port-component/port-component-uri</p><p>For backward compatibility, this uses the first token from port-component-uri in jboss.xml. It is only relevant for legacy EJB endpoints and should not be used.</p><p>5.) Use the implicit context root derived from the deployment name</p><p>If the context root is not explicitly set we fall back to the simple deployment name for both JSE and EJB endpoints. If the endpoint is deployed as part of an EAR, the context root is prepended by simple EAR name.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p><strong>The URL pattern is computed as follows</strong></p><p>1) Use the explicit url-pattern from the servlet mappings</p><p>Must be set in web.xml and is only relevant for JSE endpoints.</p><p>2) Use the explicit url-pattern from port-component/port-component-uri</p><p>Can be set in jboss.xml and is only relevant for EJB endpoints.</p><p>3) Use the explicit url-pattern from @WebContext.urlPattern</p><p>Can only be set on EJB endpoints.</p><p>4) Use the implicit url-pattern from ejb-name</p><p>If the url-pattern for an EJB endpoint is not explicitly set, we fall back to the ejb-name.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p><strong>Examples</strong></p><pre class="jive-pre"><code class="jive-code jive-java">@Stateless
@WebService
@WebContext( contextRoot = <font color="red">"/webservices"</font> )
@Remote( UserService.class )
<font color="navy"><b>public</b></font> <font color="navy"><b>class</b></font> ExampleServiceBean <font color="navy"><b>implements</b></font> ExampleService <font color="navy">{</font>
&#160;&#160;&#160; ...
<font color="navy">}</font>
</code></pre><p>Will bind to <a class="jive-link-external-small" href="http://localhost:8080/webservices/ExampleServiceBean">http://localhost:8080/webservices/ExampleServiceBean</a></p><pre class="jive-pre"><code class="jive-code jive-java">@Stateless
@WebService
@WebContext( contextRoot = <font color="red">"/webservices"</font> , urlPattern=<font color="red">"/ExampleService"</font> )
@Remote( UserService.class )
<font color="navy"><b>public</b></font> <font color="navy"><b>class</b></font> ExampleServiceBean <font color="navy"><b>implements</b></font> ExampleService <font color="navy">{</font>
&#160;&#160;&#160; ...
<font color="navy">}</font>
</code></pre><p>Will bind to <a class="jive-link-external-small" href="http://localhost:8080/webservices/ExampleService">http://localhost:8080/webservices/ExampleService</a></p><p>The default behavior in jboss 4.0.5 was to use the jar file name followed by the ejb name. This can be replicated by using the WebContext annotation e.g.</p><pre class="jive-pre"><code class="jive-code jive-java">@WebService
@WebContext( contextRoot = <font color="red">"/jar-file-name"</font> , urlPattern=<font color="red">"/ejb-name"</font> )
</code></pre><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><h3 id="How_to_use_JDK_JMX_JConsole_with_JBossWS">How to use JDK JMX JConsole with JBossWS?</h3><p>You must use JDK 5 or above on JBoss server side with the following JVM properties set on the commandline:</p><pre class="jive-pre"><code class="jive-code">JAVA_OPTS="$JAVA_OPTS -Djavax.management.builder.initial=org.jboss.system.server.jmx.MBeanServerBuilderImpl"
JAVA_OPTS="$JAVA_OPTS -Djboss.platform.mbeanserver"
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote"
</code></pre><p>Running the jconsole against this configuration will bring up a console that incorporates both the JBoss and JVM MBeans.</p><p>For further information follow this link: <a class="jive-link-external-small" href="http://wiki.jboss.org/wiki/Wiki.jsp?page=JBossMBeansInJConsole">http://wiki.jboss.org/wiki/Wiki.jsp?page=JBossMBeansInJConsole</a></p><p>For JMX information in JBoss AS in general follow this link: <a class="jive-link-external-small" href="http://wiki.jboss.org/wiki/Wiki.jsp?page=FAQJBossJMX">http://wiki.jboss.org/wiki/Wiki.jsp?page=FAQJBossJMX</a></p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><div class="since"><p><span style="color: #ff9900;"><strong>Since 3.2.0</strong></span></p></div><p>Finally, please note you can enable the com.sun.managemente.jmxremote property on client side when running the JBossWS testsuite simply providing the <strong>-Dmanagement=true</strong> parameter on command line.</p><p>eg.</p><pre class="jive-pre"><code class="jive-code">mvn -Ptestsuite,jboss510 -Dmanagement=true test
</code></pre><p>This will cause the maven build to pass the required properties to the maven surefire test executor. This way you can usr JConsole to analize memory usage, threads, etc. when running the testsuite.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><h3 id="Why_Im_getting_propertyname_is_not_valid_property_on_class_mypackagejaxwsPropertyname">Why I'm getting "propertyname is not valid property on class mypackage.jaxws.Propertyname"?</h3><p>If you are getting the following exception:</p><pre class="jive-pre"><code class="jive-code">org.jboss.ws.WSException: propertyname is not a valid property on class mypackage.jaxws.Propertyname
&#160;&#160;&#160;&#160;&#160;&#160;&#160; at com.sun.xml.bind.v2.runtime.JAXBContextImpl.getElementPropertyAccessor(JAXBContextImpl.java)
&#160;&#160;&#160;&#160;&#160;&#160;&#160; at org.jboss.ws.metadata.acessor.JAXBAccessor$1$1.create(JAXBAccessor.java)
</code></pre><p>then you are facing the JAX-WS defaults problem. JAX-WS specification gives these requirements on Document Wrapped:</p><pre class="jive-pre"><code class="jive-code">From JAX-WS 2.0 19. April 2006:

3.6.2.1 Document Wrapped:

* Conformance (Default wrapper bean names): In the absence of customizations, the wrapper request bean
&#160; class MUST be named the same as the method and the wrapper response bean class MUST be named the
&#160; same as the method with a "Response" suffix. The first letter of each bean name is capitalized to follow
&#160; Java class naming conventions.
* Conformance (Default wrapper bean package): In the absence of customizations,
&#160; the wrapper beans package UST be a generated jaxws subpackage of the SEI package.
* Conformance (Wrapper bean name clash): Generated bean classes must have unique names within a pack-
&#160; age and MUST NOT clash with other classes in that package. Clashes during generation MUST be reported
&#160; as an error and require user intervention via name customization to correct. Note that some platforms&#160; 
&#160; do not distiguish filenames based on case so comparisons MUST ignore case.
</code></pre><p>That means when you are using JBossWS with Document Wrapped you can't have two methods with same name inside the package without specifying customizations. Thus to solve your problem you have to specify&#160; at least:</p><pre class="jive-pre"><code class="jive-code jive-java">&#160; @javax.xml.ws.RequestWrapper(className=<font color="red">"package.UniqueClassName"</font>)
&#160; @javax.xml.ws.ResponseWrapper(className=<font color="red">"package.UniqueClassNameResponse"</font>) 
</code></pre><p>method annotations on all overloaded methods (overloaded here means not overloaded in class but overloaded in package).</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><h2 id="Client">Client</h2><h3 id="How_do_I_generate_the_required_artifacts">How do I generate the required artifacts?</h3><p>JBossWS ships with a set of tools to generate the required JAX-WS artefacts to build client implementations. The <a class="jive-link-wiki-small" href="http://community.jboss.org/docs/DOC-13542"><span class="active_link">wsconsume tool</span></a> is used to consume the abstract contract (WSDL) and produce annotated Java classes (and optionally sources) that define it. You can run wsconsume from the command line and from an <a class="jive-link-external-small" href="http://ant.apache.org/">Apache Ant</a> target.</p><p>To run wsconsume from the command line, use the scripts available in the <em>bin</em> dir of your JBoss AS installation.</p><p>Here is an example of how to run wsconsume from the command line, generating source and class files in the org.foo package, in a custom directory.</p><pre class="jive-pre"><code class="jive-code">wsconsume -k -o custom -p org.foo Example.wsdl</code></pre><p>For further informations and examples, also check the <a class="jive-link-wiki-small" href="http://community.jboss.org/docs/DOC-13544">top-down development strategy</a> in the user guide.</p><p>Finally, if you need JAX-RPC artifacts generation, please refer to the legacy JBossWS tools documentation.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><h3 id="How_can_I_leverage_the_client_deployment_model">How can I leverage the client deployment model?</h3><p>The WS client deployment model has many advantages over DII. Most Java applications (except the most trivial ones) have a need for registry lookup (JNDI) and management (JMX). A very minimal jboss configuration has a tiny footprint and provides just that. Therefore, you might want to consider running your client app on jboss and manage it through jmx-console and have a layer of indirection for resource lookup through JNDI. Additionally, you could then use the WS client programming model and obtain preconfigured WS clients from JNDI.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><h3 id="How_can_I_setup_my_client_to_use_a_proxy">How can I setup my client to use a proxy?</h3><p>[<a class="jive-link-external-small" href="http://labs.jboss.com/jbossremoting/docs/guide/ch05.html">5.4.10. HTTP(S) Client Invoker - proxy and basic authentication</a>]</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><h3 id="What_client_artifacts_are_thread_safe">What client artifacts are thread safe?</h3><p><strong>JAX-RCP</strong></p><p><em>javax.xml.rpc.ServiceFactory</em> - Just a factory so yes it is thread safe.</p><p><em>javax.xml.rpc.Service</em> - A factory for calls and stubs so it is thread safe.</p><p><em>javax.xml.rpc.Call</em> - Not thread safe, the API allows for multiple method invocations for a single WS call.</p><p><em>javax.xml.rpc.Stub</em> - Contains properties that may be thread specific. Stub is the interface implemented by the dynamic proxy which delegates to an implementation of Call. So, whatever is true for Call also holds for the dynamic proxy implementing Stub.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p><strong>JAX-WS (JBossWS-Native)<br/></strong></p><p><em>javax.xml.ws.Service</em> - Thread safe</p><p>The port proxy returned by getPort(..) methods of Service is not thread safe instead.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>Also check the <a class="jive-link-external-small" href="http://cxf.apache.org/faq.html">Apache CXF FAQ</a> for further info when using JBossWS-CXF stack.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><h3 id="What_client_jars_do_I_need">What client jars do I need?</h3><p>For JBossWS 3.x or previous versions, please have a look at <a class="jive-link-wiki-small" href="http://community.jboss.org/docs/DOC-13529"><span class="active_link">wsrunclient.sh</span></a>. For JBossWS 4.x or later, have a look at the <em>org.jboss.ws.cxf.jbossws-cxf-client</em> or <em>org.jboss.ws.native.jbossws-native-client</em> AS7 modules. Those are aggregation modules specifying dependencies to other AS7 modules.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><h2 id="Tools">Tools</h2><h3 id="Why_do_I_get_a_NullPointerException_when_using_wstools_legacy_JAXRPC_tools">Why do I get a NullPointerException when using wstools? (legacy JAXRPC tools)</h3><pre class="jive-pre"><code class="jive-code">[wstools] java.lang.NullPointerException
[wstools]&#160;&#160;&#160;&#160; at java.lang.System.arraycopy(Native Method)
[wstools]&#160;&#160;&#160;&#160; at org.apache.xerces.impl.xs.XSModelImpl.getAnnotations(Unknown Source)
[wstools]&#160;&#160;&#160;&#160; at org.jboss.ws.metadata.wsdl.xmlschema.WSSchemaUtils.copyXSModel(WSSchemaUtils.java:737)
[wstools]&#160;&#160;&#160;&#160; at org.jboss.ws.tools.JavaToXSD.parseSchema(JavaToXSD.java:201)
[wstools]&#160;&#160;&#160;&#160; at org.jboss.ws.metadata.wsdl.WSDL11Reader.processTypes(WSDL11Reader.java:227)
[wstools]&#160;&#160;&#160;&#160; at org.jboss.ws.metadata.wsdl.WSDL11Reader.processDefinition(WSDL11Reader.java:118)
[wstools]&#160;&#160;&#160;&#160; at org.jboss.ws.metadata.wsdl.WSDLDefinitionsFactory.parse(WSDLDefinitionsFactory.java:145)
[wstools]&#160;&#160;&#160;&#160; at org.jboss.ws.tools.WSDLToJava.convertWSDL2Java(WSDLToJava.java:121)
[wstools]&#160;&#160;&#160;&#160; at org.jboss.ws.tools.helpers.ToolsHelper.handleWSDLToJavaGeneration(ToolsHelper.java:323)
[wstools]&#160;&#160;&#160;&#160; at org.jboss.ws.tools.WSTools.process(WSTools.java:138)
[wstools]&#160;&#160;&#160;&#160; at org.jboss.ws.tools.WSTools.generate(WSTools.java:120)
[wstools]&#160;&#160;&#160;&#160; at org.jboss.ws.tools.ant.wstools.execute(wstools.java:103)
 ...
</code></pre><p>This is a xerces bug that was fixed in 2.7.0. Make sure you're using at least the 2.7.0 xerces jars in your ANT_HOME/lib directory.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><h3 id="How_can_I_configure_RPC_parameter_names">How can I configure RPC parameter names?</h3><p>Parameter and result names can be configured using the JSR-181 <a class="jive-link-wiki-small" href="http://community.jboss.org/docs/DOC-13510"><span class="active_link">@WebParam</span></a> and <a class="jive-link-wiki-small" href="http://community.jboss.org/docs/DOC-13510"><span class="active_link">@WebResult</span></a> annotations:</p><pre class="jive-pre"><code class="jive-code jive-java">@WebMethod(operationName = <font color="red">"SecurePing"</font>)
@WebResult(name = <font color="red">"Result"</font>)
<font color="navy"><b>public</b></font> String ping(
&#160;&#160;&#160; @WebParam(name = <font color="red">"Ping"</font>) PingDocument p, 
&#160;&#160;&#160; @WebParam(name = <font color="red">"SecHeader"</font>, header = <font color="navy"><b>true</b></font>) SecurityHeader secHdr)
<font color="navy">{</font>
&#160;&#160; log.info(<font color="red">"ping: "</font> + p + <font color="red">","</font> + secHdr);
&#160;&#160; <font color="navy"><b>return</b></font> <font color="red">"pong"</font>;
<font color="navy">}</font>
</code></pre><h3 id="Customizing_WSDL_Schema_Generation">Customizing WSDL Schema Generation</h3><p>Both <strong>JBossWS runtime</strong> and <strong>WSProvide tool</strong> use <strong>JAXB</strong> (concretely <strong>JAXBRIContext.generateSchema()</strong> method) for WSDL schema generation thus the only possible way of schema customization is through <strong>javax.xml.bind.annotation.*</strong> annotations.</p><p>Therefore users that want to customize WSDL schema generation process should be familiar with these annotations. We suggest everyone interested in to take a look to <strong>Java Types To XML</strong> chapter of <strong>JAXB specification</strong>.</p><p>In the case user want to customize the generated WSDL schema and he is not able to achieve that through <strong>javax.xml.bind.annotation.*</strong> annotations he have always the possibility to customize the generated WSDL contract and force <strong>JBossWS runtime</strong> to use it via <strong>javax.jws.WebService.wsdlLocation</strong> annotation field.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><h3 id="Customizing_WSDL_to_Java_Mapping">Customizing WSDL to Java Mapping</h3><p>There are many customizations available when generating Java artifacts from WSDL. See <a class="jive-link-external-small" href="https://jax-ws.dev.java.net/jax-ws-20-fcs/docs/customizations.html">https://jax-ws.dev.java.net/jax-ws-20-fcs/docs/customizations.html</a> for available customizations.</p><h2 id="Others">Others</h2><h3 id="How_to_force_JBossWS_to_generate_SOAP_messages_with_xml_declaration">How to force JBossWS to generate SOAP messages with xml declaration</h3><div id="since"><span style="color: #ff9900;"><strong>Since 3.0.2 (Native)</strong></span></div><p>JBossWS generates no processing instructions in messages by default. However there are some SOAP stacks that require xml declaration to be present in exchanged SOAP messages. It is possible to turn this feature on for whole JBossWS client or server instance by specifying the following JVM property on the java command line:</p><pre class="jive-pre"><code class="jive-code">-Djavax.xml.soap.write-xml-declaration=true
</code></pre></div>

<div style="background-color: #f4f4f4; padding: 10px; margin-top: 20px;">
    <p style="margin: 0;">Comment by <a href="http://community.jboss.org/docs/DOC-13646">going to Community</a></p>

        <p style="margin: 0;">Create a new document in JBoss Web Services at <a href="http://community.jboss.org/choose-container!input.jspa?contentType=102&containerType=14&container=2044">Community</a></p>
</div></td>
                        </tr>
                    </tbody>
                </table>


                </td>
            </tr>
        </tbody>
    </table>

</div>

</body>
</html>