<!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">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;">
Provider based service
</h3>
<span style="margin-bottom: 10px;">
created by <a href="http://community.jboss.org/people/mikefinnx">Mike Finn</a> in <i>JBoss Web Services</i> - <a href="http://community.jboss.org/message/538844#538844">View the full discussion</a>
</span>
<hr style="margin: 20px 0; border: none; background-color: #dadada; height: 1px;">
<div class="jive-rendered-content"><p>Trying to deploy top-down provider based service to AS 5.1.0 (I am down to a trivial sample). The app seems to deploy OK, and jbossws services listing shows it. However, the WSDL URL listed does not work (404), nor does the endpoint shown in the generated WSDL (404).</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>Steps-</p><p>1. New EAR + Web project, named: EchoServiceApp, EchoServiceWeb</p><p>2. Write WSDL - simple echo service (see below). Place in WEB-INF</p><p>3. Build provider class (see below for src)</p><p>4. Write web.xml (see below for src)</p><p>5. Deploy. Following shows in log:</p><p>14:18:30,077 INFO  [TomcatDeployment] deploy, ctxPath=/EchoServiceWeb<br/>14:18:30,217 INFO  [WSDLFilePublisher] WSDL published to: file:/C:/apps/jboss/jboss-5.1.0.GA/server/standard/data/wsdl/EchoServiceApp.ear/EchoServiceWeb.war/echo.wsdl</p><p>6. Look at JBossWS con. Service listing shows:</p><table><tbody><tr><td>Endpoint Name</td><td>jboss.ws:context=EchoServiceApp-EchoServiceWeb,endpoint=Endpoint</td></tr><tr><td>Endpoint Address</td><td><a class="jive-link-external-small" href="http://localhost:8080/EchoServiceApp-EchoServiceWeb?wsdl">http://localhost:8080/EchoServiceApp-EchoServiceWeb?wsdl</a></td></tr></tbody></table><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>7. Try to access Endpoint Address in browser, with and without "?wsdl". HTTP 404.</p><p>8. Load WSDL from file above into test tool (SOAPUI in this case). Endpoint address from WSDL matches above.</p><p>9. Invoke service, results in HTTP404 error message.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>I cannot figure out where JBossWS is ACTUALLY mounting the endpoint to. Any ideas?</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>TIA,</p><p>Mike</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>EchoProvider.java</p><p><span style="font-size: 8pt; font-family: courier new,courier; ">package echo;</span></p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p><span style="font-size: 8pt; font-family: courier new,courier; ">import javax.xml.soap.SOAPMessage;<br/>import javax.xml.ws.Provider;<br/>import javax.xml.ws.ServiceMode;<br/>import javax.xml.ws.WebServiceProvider;</span></p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p><span style="font-size: 8pt; font-family: courier new,courier; "><span>@WebServiceProvider(portName = "EchoPort", serviceName = "EchoService", targetNamespace = "</span><a class="jive-link-external-small" href="http://echo/" target="_blank">http://echo/</a><span>", wsdlLocation = "WEB-INF/echo.wsdl")</span><br/>@ServiceMode(value = javax.xml.ws.Service.Mode.MESSAGE)</span></p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p><span style="font-size: 8pt; font-family: courier new,courier; ">public class EchoProvider implements Provider<SOAPMessage> {</span></p><p><span style="font-size: 8pt; font-family: courier new,courier; ">    @Override<br/>    public SOAPMessage invoke(SOAPMessage rqst) {<br/>        System.out.println("invoke()");<br/>        return rqst;<br/>    }</span></p><p><span style="font-size: 8pt; font-family: courier new,courier; ">}</span></p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>echo.wsdl:</p><p><span style="font-size: 8pt; font-family: courier new,courier; "><?xml version="1.0" encoding="UTF-8"?><br/><span><definitions name='EchoService' targetNamespace='</span><a class="jive-link-external-small" href="http://echo/" target="_blank">http://echo/</a><span>'</span><br/><span>    xmlns='</span><a class="jive-link-external-small" href="http://schemas.xmlsoap.org/wsdl/" target="_blank">http://schemas.xmlsoap.org/wsdl/</a><span>' xmlns:soap='</span><a class="jive-link-external-small" href="http://schemas.xmlsoap.org/wsdl/soap/" target="_blank">http://schemas.xmlsoap.org/wsdl/soap/</a><span>'</span><br/><span>    xmlns:tns='</span><a class="jive-link-external-small" href="http://echo/" target="_blank">http://echo/</a><span>' xmlns:xsd='</span><a class="jive-link-external-small" href="http://www.w3.org/2001/XMLSchema" target="_blank">http://www.w3.org/2001/XMLSchema</a><span>'></span><br/>    <types><br/><span>        <xs:schema targetNamespace='</span><a class="jive-link-external-small" href="http://echo/" target="_blank">http://echo/</a><span>' version='1.0'</span><br/><span>            xmlns:tns='</span><a class="jive-link-external-small" href="http://echo/" target="_blank">http://echo/</a><span>' xmlns:xs='</span><a class="jive-link-external-small" href="http://www.w3.org/2001/XMLSchema" target="_blank">http://www.w3.org/2001/XMLSchema</a><span>'></span><br/>            <xs:element name='echo' type='tns:echo' /><br/>            <xs:element name='echoResponse' type='tns:echoResponse' /><br/>            <xs:complexType name='echo'><br/>                <xs:sequence><br/>                    <xs:element minOccurs='0' name='arg0' type='xs:string' /><br/>                </xs:sequence><br/>            </xs:complexType><br/>            <xs:complexType name='echoResponse'><br/>                <xs:sequence><br/>                    <xs:element minOccurs='0' name='return' type='xs:string' /><br/>                </xs:sequence><br/>            </xs:complexType><br/>        </xs:schema><br/>    </types><br/>    <message name='EchoMessage'><br/>        <part element='tns:echo' name='echo' /><br/>    </message><br/>    <message name='EchoResponseMessage'><br/>        <part element='tns:echoResponse' name='echoResponse' /><br/>    </message><br/>    <portType name='Echo'><br/>        <operation name='echo' parameterOrder='echo'><br/>            <input message='tns:EchoMessage' /><br/>            <output message='tns:EchoResponseMessage' /><br/>        </operation><br/>    </portType><br/>    <binding name='EchoBinding' type='tns:Echo'><br/>        <soap:binding style='document'<br/><span>            transport='</span><a class="jive-link-external-small" href="http://schemas.xmlsoap.org/soap/http" target="_blank">http://schemas.xmlsoap.org/soap/http</a><span>' /></span><br/>        <operation name='echo'><br/>            <soap:operation soapAction='' /><br/>            <input><br/>                <soap:body use='literal' /><br/>            </input><br/>            <output><br/>                <soap:body use='literal' /><br/>            </output><br/>        </operation><br/>    </binding><br/>    <service name='EchoService'><br/>        <port binding='tns:EchoBinding' name='EchoPort'><br/>            <soap:address location='REPLACE_WITH_ACTUAL_URL' /><br/>        </port><br/>    </service><br/></definitions></span></p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>web.xml</p><p><span style="font-size: 8pt;"><?xml version="1.0" encoding="UTF-8"?><br/><span><web-app id="WebApp_ID" version="2.5" xmlns="</span><a class="jive-link-external-small" href="http://java.sun.com/xml/ns/javaee" target="_blank">http://java.sun.com/xml/ns/javaee</a><span>" xmlns:xsi="</span><a class="jive-link-external-small" href="http://www.w3.org/2001/XMLSchema-instance" target="_blank">http://www.w3.org/2001/XMLSchema-instance</a><span>" xsi:schemaLocation="</span><a class="jive-link-external-small" href="http://java.sun.com/xml/ns/javaee" target="_blank">http://java.sun.com/xml/ns/javaee</a><span> </span><a class="jive-link-external-small" href="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" target="_blank">http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd</a><span>"></span><br/>  <servlet><br/>    <servlet-name>Endpoint</servlet-name><br/>    <servlet-class>echo.EchoProvider</servlet-class><br/>  </servlet><br/>  <servlet-mapping><br/>    <servlet-name>Endpoint</servlet-name><br/>    <url-pattern>/*</url-pattern><br/>  </servlet-mapping><br/></web-app></span></p></div>
<div style="background-color: #f4f4f4; padding: 10px; margin-top: 20px;">
<p style="margin: 0;">Reply to this message by <a href="http://community.jboss.org/message/538844#538844">going to Community</a></p>
        <p style="margin: 0;">Start a new discussion in JBoss Web Services at <a href="http://community.jboss.org/choose-container!input.jspa?contentType=1&containerType=14&container=2044">Community</a></p>
</div></td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</div>
</body>
</html>