Joseph Wu [
https://community.jboss.org/people/wutongjoe] created the discussion
"newbie question about soap address"
To view the discussion, visit:
https://community.jboss.org/message/725506#725506
--------------------------------------------------------------
Hi all,
I was developing an EJB based webservice .I have configed JBAS 7.1 to use https .I can
browse wsdl and view xml using browser with following address:
https://localhost:8444/webservices/ExampleService?wsdl
https://localhost:8444/webservices/ExampleService?wsdl
but the end of *wsdl always show the following lines:*
<wsdl:service name="WSMashupService">
<wsdl:port name="WSMashupServicePort"
binding="tns:WSMashupServiceSoapBinding">
<soap:address location="
http://localhost:8080/webservices/ExampleService"/
http://localhost:8080/webservices/ExampleService"/>
</wsdl:port>
</wsdl:service>
my client side code always try to connect to port 8080 after parsing wsdl .
*client side code is like following :*
Authenticator.setDefault(new Authenticator() {
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication("testuser", "testpass"
.toCharArray());
}
});
URL wsdlURL = new URL(
"
https://localhost:8444/webservices/ExampleService?wsdl
https://localhost:8444/webservices/ExampleService?wsdl");
QName qname = new QName("
http://test.com/webservices
http://test.com/webservices",
"WSMashupService");
Service service = Service.create(wsdlURL, qname);
WSMashupInterface port = service.getPort(WSMashupInterface.class);
BindingProvider bp = (BindingProvider) port;
bp.getRequestContext().put(BindingProvider.USERNAME_PROPERTY,
"testuser");
bp.getRequestContext().put(BindingProvider.PASSWORD_PROPERTY,
"testpass");
port.dosomethingMashup("12121212121212");
*---------------------------------this line always throw exception :*
Caused by: java.net.ConnectException: Connection refused: connect
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:351)
at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:213)
*the server config is :*
...
<subsystem xmlns="urn:jboss:domain:web:1.1" native="false"
default-virtual-server="default-host">
<connector name="http" protocol="HTTP/1.1"
scheme="https" socket-binding="https" secure="true">
<ssl key-alias="serverCert" password="servercert"
certificate-key-file="${jboss.server.config.dir}/jboss.keystore"/>
</connector>
<virtual-server name="default-host"
enable-welcome-root="true">
<alias name="localhost"/>
<alias name="example.com"/>
</virtual-server>
</subsystem>
...
<subsystem xmlns="urn:jboss:domain:webservices:1.1">
<modify-wsdl-address>true</modify-wsdl-address>
<wsdl-host>${jboss.bind.address:127.0.0.1}</wsdl-host>
<wsdl-secure-port>8444</wsdl-secure-port>
<endpoint-config name="Standard-Endpoint-Config"/>
<endpoint-config name="Recording-Endpoint-Config">
<pre-handler-chain name="recording-handlers"
protocol-bindings="##SOAP11_HTTP ##SOAP11_HTTP_MTOM ##SOAP12_HTTP
##SOAP12_HTTP_MTOM">
<handler name="RecordingHandler"
class="org.jboss.ws.common.invocation.RecordingServerHandler"/>
</pre-handler-chain>
</endpoint-config>
</subsystem>
*the server side code is :*
@Stateless
@Clustered
@WebContext( contextRoot = "/webservices" ,
urlPattern="/ExampleService",authMethod="BASIC",
transportGuarantee="NONE", secureWSDLAccess=true)
@WebService(name="WSMashupService",serviceName = "WSMashupService",
targetNamespace = "
http://test.com/webservices http://test.com/webservices")
@SOAPBinding(style = SOAPBinding.Style.RPC)
@SecurityDomain(value = "my-security-domain")
@RolesAllowed(value = { "testrole" })
public class WSMashupImpl implements WSMashupInterface {
*the interface code :*
@WebService(name="WSMashupService",serviceName = "WSMashupService",
targetNamespace = "
http://test.com/webservices http://test.com/webservices")
@WebContext( contextRoot = "/webservices" ,
urlPattern="/ExampleService",authMethod="BASIC",
transportGuarantee="NONE", secureWSDLAccess=true)
public interface WSMashupInterface {
I think the problem is with soap address rewrite.Am I right ? what is wrong with my code
and config ?
Thanks a lot
--------------------------------------------------------------
Reply to this message by going to Community
[
https://community.jboss.org/message/725506#725506]
Start a new discussion in JBoss Web Services at Community
[
https://community.jboss.org/choose-container!input.jspa?contentType=1&...]