wsdl плохая генерация URL за nginx haproxy - PullRequest
0 голосов
/ 22 марта 2011

В настоящее время я занимаюсь разработкой веб-сервиса с использованием jax-ws, основанного на EJB-компоненте за загрузчиком sgin s nlx и haproxy для балансировки нагрузки, например:

@WebService()
@RolesAllowed("allowedOne")
@Stateless()
public class Account
{
    @WebMethod(operationName = "register")
    public RegisterOutTo register(
        @WebParam(name = "registerInTo") RegisterInTo RegisterInTo)
    {
        // do some stuffs
    }
}

https => http => Генерация WSDL => http => https

jax-ws, кажется, не заботится о x-forwarded-proto для генерации WSDL:

<xsd:import namespace="http://services/" schemaLocation="http://myprodserver.com:80/Services/Account?xsd=1" />

и

<soap:address location="http://myprodserver.com:80/Services/Account"/>

Конечно, клиенты не могут найти xsd, и запросы не выполняются.

Есть что-то, по чему я скучаю.

Некоторая помощь будет принята с благодарностью.

Ответы [ 2 ]

2 голосов
/ 24 марта 2011

Наконец-то мы решили проблему с исправлением класса HttpAdapter из пакета. com.sun.xml.ws.transport.http и перепаковать его на glassfish/modules/webservices-osgi.jar

Теперь мы определяем, установлено ли для x-forwarded-proto значение https, затем заменяем http на https в конечном адресе и, при необходимости, удаляем порт.

0 голосов
/ 05 июля 2018

Также должен был сделать это.К сожалению, вам необходимо заменить файл модуля Glassfish (версия 5):

glassfish/modules/webservices-osgi.jar

Для этого клон https://github.com/javaee/metro-jax-ws и изменить файл

jaxws-ri/servlet/src/main/java/com/sun/xml/ws/transport/http/servlet/ServletConnectionImpl.java

Применить этот патч:https://pastebin.com/HUcWNTJ6

Заголовок "X-Forwarded-Proto" будет проанализирован и использован в качестве схемы URL.Последний шаг - замена скомпилированного файла .class в ServletConnectionImpl в webservices-osgi.jar.

...