[
https://jira.jboss.org/jira/browse/JBWS-2277?page=com.atlassian.jira.plug...
]
Alexandros Karypidis commented on JBWS-2277:
--------------------------------------------
The problem is caused by the method:
private static boolean requiresRewrite(String orgAddress, String uriScheme)
in class org.jboss.ws.metadata.builder.MetaDataBuilder
Specifically, it only rewrites http(s) urls. There is a special check in the code that
leads to this behavior, so this is intentional. The patch attached extends the re-writing
to both http(s):// AND file:// addresses. Someone knowledgeable should consider any
side-effects because I don't have the full picture (presumably, the check was there
for a reason).
In addition, the patch modifies in the same class the method
public static String getServiceEndpointAddress(String uriScheme, String servicePath,
int servicePort)
This method rewrites the URL but does NOT change the protocol used. Without the
modification the re-written URL would still use the file:// protocol. I added a special
check to switch to http as a protocol in case file:// is in effect.
When publishing WS using an existing WSDL file from wsdlLocation,
file:// <soap:address> bindings are not converted to http://
------------------------------------------------------------------------------------------------------------------------------
Key: JBWS-2277
URL:
https://jira.jboss.org/jira/browse/JBWS-2277
Project: JBoss Web Services
Issue Type: Bug
Security Level: Public(Everyone can see)
Components: jbossws-native
Affects Versions: jbossws-native-3.0.2
Environment: I am using Sun's JDK 1.5.0_15, JBoss 4.2.3 with
JBossWS-Native-3.0.2 on a x86-32 Intel PC with Windows XP.
Reporter: Alexandros Karypidis
Priority: Trivial
Attachments: fileURLBindingBug.zip
When using "wsdLocation" in @WebService, JBoss reads the WSDL file you provided
and does the following:
1) if the <soap:address> tag in the WSDL file has a "file://..." URL in
it,
it does NOT replace it with the actual address where your web service
endpoint was bound.
2) if the <soap:address> tag in the WSDL file has an "http://..." URL in
it,
it replaces it with the actual address where your web service
endpoint was bound.
The WSDL published by JBoss should use http/https as appropriate.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira