jax-ws
  1. jax-ws
  2. JAX_WS-602

Support for configurable soap:address location in published endpoint WSDL

    Details

    • Type: Improvement Improvement
    • Status: Open
    • Priority: Major Major
    • Resolution: Unresolved
    • Affects Version/s: 2.0 FCS
    • Fix Version/s: not determined
    • Component/s: runtime
    • Labels:
      None
    • Environment:

      Operating System: All
      Platform: All

    • Issuezilla Id:
      602

      Description

      There are cases where it is not desirable for the soap:address location of a
      published WSDL to be derived from the WSDL request URL or even from the servlet
      container. That might be firewall/proxy scenarios, where the baseAddress of the
      forwarded WSDL request or the servlet container is not reachable from the
      outside and therefore should not be put in the soap:address of the published WSDL.

      A possible solution would be to introduce a new option for the sun-jaxws.xml
      that contains the full URL of the Endpoint to be put as soap:address in the
      published WSDL (like the "publishedEndpointUrl" option does in CXF, see
      https://issues.apache.org/jira/browse/CXF-1279).

      See also the forum thread:
      http://forums.java.net/jive/thread.jspa?messageID=290807

        Activity

        Hide
        jitu added a comment -

        Assigning it to myself.

        Show
        jitu added a comment - Assigning it to myself.
        Hide
        nickwi added a comment -

        I've created a patch for this that allows a custom PortAddressResolver to be
        declared on the web service endpoint class using an annotation:

        ....
        @CustomPortAddressResolver( resolver = MyPortAddressResolver.class )
        @WebService......

        I've attached the annotation class and a modified HttpAdapter class. This has
        been modified from JAX-WS 2.1.3.

        Show
        nickwi added a comment - I've created a patch for this that allows a custom PortAddressResolver to be declared on the web service endpoint class using an annotation: .... @CustomPortAddressResolver( resolver = MyPortAddressResolver.class ) @WebService...... I've attached the annotation class and a modified HttpAdapter class. This has been modified from JAX-WS 2.1.3.
        Hide
        nickwi added a comment -

        Created an attachment (id=255)
        CustomPortAddressResolver

        Show
        nickwi added a comment - Created an attachment (id=255) CustomPortAddressResolver
        Hide
        nickwi added a comment -

        Created an attachment (id=256)
        HttpAdapter

        Show
        nickwi added a comment - Created an attachment (id=256) HttpAdapter
        Hide
        psartini added a comment -

        We ran into this problem as well. Our use case is a proxy server that rewrites the path.
        api.domain.com/soap/v3 -> localhost:8080/<app-name>/<webmodule>/

        The domain ist easy to change with the http-listener - but we need to define the path as well.

        Show
        psartini added a comment - We ran into this problem as well. Our use case is a proxy server that rewrites the path. api.domain.com/soap/v3 -> localhost:8080/<app-name>/<webmodule>/ The domain ist easy to change with the http-listener - but we need to define the path as well.
        Hide
        flaviobp added a comment -

        Anyone can give some hints where to search or give a solution?

        Show
        flaviobp added a comment - Anyone can give some hints where to search or give a solution?

          People

          • Assignee:
            jitu
            Reporter:
            carstensis
          • Votes:
            11 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

            • Created:
              Updated: