Erro requisição Webservice com Wildfly

Bom dia galera!

Estou fazendo a integração entre um Sistema de gestão hospitalar com o sistema laboratorial da empresa em que trabalho, utilizando Webservice SOAP com JPA, EJB, tendo como servidor de aplicação o Wildfly 8.2.

Este sistema de gestão hospitalar já tem um webservice pronto, documentado, que dispara um pedido de exame em XML para o meu webservice, que por sua vez deve ter um método que recebe String.

Criei o webservice e realizei testes com o SOAPUi e as coisas funcionaram normalmente, porém quando fui realizar os testes em ambiente real, ou seja, colocando os dois webservices para se comunicarem, a requisição chega no meu servidor e já aparece o seguinte erro.

10:02:19,307 WARNING [org.apache.cxf.phase.PhaseInterceptorChain] (default task-49) Interceptor for {http://webservice.ws.sisonco.com.br/}SisoncoLabWSService#{http://webservice.ws.sisonco.com.br/}solicitarExameLIS has thrown exception, unwinding now: org.apache.cxf.interceptor.Fault: Unexpected wrapper element solicitarExameLIS found.   Expected {http://webservice.ws.sisonco.com.br/}solicitarExameLIS.
at org.apache.cxf.interceptor.DocLiteralInInterceptor.handleMessage(DocLiteralInInterceptor.java:104)
at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:272)
at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:121)
at org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(AbstractHTTPDestination.java:241)
at org.jboss.wsf.stack.cxf.RequestHandlerImpl.handleHttpRequest(RequestHandlerImpl.java:97)
at org.jboss.wsf.stack.cxf.transport.ServletHelper.callRequestHandler(ServletHelper.java:131)
at org.jboss.wsf.stack.cxf.CXFServletExt.invoke(CXFServletExt.java:88)
at org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:286)
at org.apache.cxf.transport.servlet.AbstractHTTPServlet.doPost(AbstractHTTPServlet.java:206)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:707) [jboss-servlet-api_3.1_spec-1.0.0.Final.jar:1.0.0.Final]
at org.jboss.wsf.stack.cxf.CXFServletExt.service(CXFServletExt.java:136)
at org.jboss.wsf.spi.deployment.WSFServlet.service(WSFServlet.java:140) [jbossws-spi-2.3.1.Final.jar:2.3.1.Final]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) [jboss-servlet-api_3.1_spec-1.0.0.Final.jar:1.0.0.Final]
at io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:86) [undertow-servlet-1.1.8.Final.jar:1.1.8.Final]
at io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:62) [undertow-servlet-1.1.8.Final.jar:1.1.8.Final]
at io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36) [undertow-servlet-1.1.8.Final.jar:1.1.8.Final]
at org.wildfly.extension.undertow.security.SecurityContextAssociationHandler.handleRequest(SecurityContextAssociationHandler.java:78)
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) [undertow-core-1.1.8.Final.jar:1.1.8.Final]
at io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:131) [undertow-servlet-1.1.8.Final.jar:1.1.8.Final]
at io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:57) [undertow-servlet-1.1.8.Final.jar:1.1.8.Final]
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) [undertow-core-1.1.8.Final.jar:1.1.8.Final]
at io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:46) [undertow-core-1.1.8.Final.jar:1.1.8.Final]
at io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:64) [undertow-servlet-1.1.8.Final.jar:1.1.8.Final]
at io.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest(AuthenticationMechanismsHandler.java:58) [undertow-core-1.1.8.Final.jar:1.1.8.Final]
at io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:70) [undertow-servlet-1.1.8.Final.jar:1.1.8.Final]
at io.undertow.security.handlers.SecurityInitialHandler.handleRequest(SecurityInitialHandler.java:76) [undertow-core-1.1.8.Final.jar:1.1.8.Final]
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) [undertow-core-1.1.8.Final.jar:1.1.8.Final]
at org.wildfly.extension.undertow.security.jacc.JACCContextIdHandler.handleRequest(JACCContextIdHandler.java:61)
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) [undertow-core-1.1.8.Final.jar:1.1.8.Final]
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) [undertow-core-1.1.8.Final.jar:1.1.8.Final]
at io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:261) [undertow-servlet-1.1.8.Final.jar:1.1.8.Final]
at io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:248) [undertow-servlet-1.1.8.Final.jar:1.1.8.Final]
at io.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletInitialHandler.java:77) [undertow-servlet-1.1.8.Final.jar:1.1.8.Final]
at io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:167) [undertow-servlet-1.1.8.Final.jar:1.1.8.Final]
at io.undertow.server.Connectors.executeRootHandler(Connectors.java:199) [undertow-core-1.1.8.Final.jar:1.1.8.Final]
at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:761) [undertow-core-1.1.8.Final.jar:1.1.8.Final]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [rt.jar:1.8.0_40]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [rt.jar:1.8.0_40]
at java.lang.Thread.run(Thread.java:745) [rt.jar:1.8.0_40]

Me parece ser algo relacionado a interceptadores do CXF. Tenho realizado pesquisas diárias em diversos sites e não consegui achar nada que pudesse realmente me ajudar ainda.

Apenas para teste, fui na minha classe de Webservice (anotada com @WebService) e criei um webservice através do Ctrl+N (opção Webservice do Eclipse), utilizando o Axis e então o erro acima parou de acontecer, mas um outro erro surgiu. Tudo que tem @Inject não funciona mais.

Alguém já passou por problema parecido?

Obrigado.

Ola @reginaldolribeiro,

Pelo Erro:

unwinding now: org.apache.cxf.interceptor.Fault:
Unexpected wrapper element solicitarExameLIS found.
Expected {http://webservice.ws.sisonco.com.br/}solicitarExameLIS.

esta faltando a namespace http://webservice.ws.sisonco.com.br/

pode ser que o xml enviado não esteja de acordo com o que o servidor deseja receber, o servidor esta validando a entrada e talvez a saida do SOAP.

Não sei se usa contract-first ou se seu WSDL é aquele gerado automatico pelo servidor.

Mas você comentou que funciona executando local então penso que possa ser configuração.

você configurou o standanlone.xml ? com schema-validation-enable ? ex:

<subsystem xmlns="urn:jboss:domain:webservices:2.0">
            <!--habilita acesso ao wsdl -->
            <wsdl-host>IP.DO.SERVIDOR</wsdl-host>
           <!--habilita schema-validation servidor -->
           <endpoint-config name="Standard-Endpoint-Config">
                <property name="schema-validation-enabled" value="true"/>
            </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> 
           <!--habilita schema-validation client -->
           <client-config name="Standard-Client-Config">
                <property name="schema-validation-enabled" value="true"/>
            </client-config>
        </subsystem> 

A interface Any esta habilitada e declarada no socket-binding-group abaixo?

<interfaces>
        <interface name="management">
            <any-address/>
        </interface>
        <interface name="public">
            <inet-address value="${jboss.bind.address:127.0.0.1}"/>
        </interface>
        <interface name="any">
            <any-address/>
        </interface>
    </interfaces>

<socket-binding-group name="standard-sockets" default-interface="any" port-offset="${jboss.socket.binding.port-offset:0}">
....................................................................
    </socket-binding-group>

Ola @aix , obrigado pela resposta.

Meu WSDL é o gerado pelo servidor mesmo e possui o seguinte código:

<?xml version="1.0" ?><wsdl:definitions xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:tns="http://webservice.ws.sisonco.com.br/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:ns1="http://schemas.xmlsoap.org/soap/http" name="SisoncoLabWSService" targetNamespace="http://webservice.ws.sisonco.com.br/">
  <wsdl:types>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://webservice.ws.sisonco.com.br/" elementFormDefault="unqualified" targetNamespace="http://webservice.ws.sisonco.com.br/" version="1.0">

  <xs:element name="solicitarExameLIS" type="tns:solicitarExameLIS"></xs:element>

  <xs:element name="solicitarExameLISResponse" type="tns:solicitarExameLISResponse"></xs:element>

  <xs:complexType name="solicitarExameLIS">
    <xs:sequence>
      <xs:element minOccurs="0" name="pedidoExame" type="xs:string"></xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="solicitarExameLISResponse">
    <xs:sequence>
      <xs:element minOccurs="0" name="return" type="xs:string"></xs:element>
    </xs:sequence>
  </xs:complexType>

</xs:schema>
  </wsdl:types>
  <wsdl:message name="solicitarExameLISResponse">
    <wsdl:part element="tns:solicitarExameLISResponse" name="parameters">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="solicitarExameLIS">
    <wsdl:part element="tns:solicitarExameLIS" name="parameters">
    </wsdl:part>
  </wsdl:message>
  <wsdl:portType name="SisoncoLabWS">
    <wsdl:operation name="solicitarExameLIS">
      <wsdl:input message="tns:solicitarExameLIS" name="solicitarExameLIS">
    </wsdl:input>
      <wsdl:output message="tns:solicitarExameLISResponse" name="solicitarExameLISResponse">
    </wsdl:output>
    </wsdl:operation>
  </wsdl:portType>
  <wsdl:binding name="SisoncoLabWSServiceSoapBinding" type="tns:SisoncoLabWS">
    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"></soap:binding>
    <wsdl:operation name="solicitarExameLIS">
      <soap:operation soapAction="" style="document"></soap:operation>
      <wsdl:input name="solicitarExameLIS">
        <soap:body use="literal"></soap:body>
      </wsdl:input>
      <wsdl:output name="solicitarExameLISResponse">
        <soap:body use="literal"></soap:body>
      </wsdl:output>
    </wsdl:operation>
  </wsdl:binding>
  <wsdl:service name="SisoncoLabWSService">
    <wsdl:port binding="tns:SisoncoLabWSServiceSoapBinding" name="SisoncoLabWSPort">
      <soap:address location="http://172.16.3.224:8086/SisoncoLabWS/SisoncoLabWS"></soap:address>
    </wsdl:port>
  </wsdl:service>
</wsdl:definitions>

Fazendo a chamada do Webservice localmente ou em outra máquina através do SOAPUi, funciona normalmente, apenas quando configuro o outro webservice para disparar o XML para meu webservice é que ocorre o erro.
Também acredito que possa ser configuração, porém ainda sou novo nesse mundo de webservice, não tenho muito domínio de SOAP, nem do Wildfly.

Em relação ao standalone.xml, eu não havia configurado o schema-validation-enable e a interface default estava configurada como “public” (configurado como ) no socket-binding-group. Porém configurei também a interface “any” e a coloquei como default-interface no socket-binding-group, como você sugeriu, mas mesmo assim o erro persiste.

Segue abaixo o arquivo standalone.xml configurado no Wildfly 8.2.

<?xml version="1.0" ?>

<server xmlns="urn:jboss:domain:2.2">

    <extensions>
        <extension module="org.jboss.as.clustering.infinispan"/>
        <extension module="org.jboss.as.connector"/>
        <extension module="org.jboss.as.deployment-scanner"/>
        <extension module="org.jboss.as.ee"/>
        <extension module="org.jboss.as.ejb3"/>
        <extension module="org.jboss.as.jaxrs"/>
        <extension module="org.jboss.as.jdr"/>
        <extension module="org.jboss.as.jmx"/>
        <extension module="org.jboss.as.jpa"/>
        <extension module="org.jboss.as.jsf"/>
        <extension module="org.jboss.as.logging"/>
        <extension module="org.jboss.as.mail"/>
        <extension module="org.jboss.as.naming"/>
        <extension module="org.jboss.as.pojo"/>
        <extension module="org.jboss.as.remoting"/>
        <extension module="org.jboss.as.sar"/>
        <extension module="org.jboss.as.security"/>
        <extension module="org.jboss.as.transactions"/>
        <extension module="org.jboss.as.webservices"/>
        <extension module="org.jboss.as.weld"/>
        <extension module="org.wildfly.extension.batch"/>
        <extension module="org.wildfly.extension.io"/>
        <extension module="org.wildfly.extension.undertow"/>
    </extensions>


    <management>
        <security-realms>
            <security-realm name="ManagementRealm">
                <authentication>
                    <local default-user="$local" skip-group-loading="true"/>
                    <properties path="mgmt-users.properties" relative-to="jboss.server.config.dir"/>
                </authentication>
                <authorization map-groups-to-roles="false">
                    <properties path="mgmt-groups.properties" relative-to="jboss.server.config.dir"/>
                </authorization>
            </security-realm>
            <security-realm name="ApplicationRealm">
                <authentication>
                    <local default-user="$local" allowed-users="*" skip-group-loading="true"/>
                    <properties path="application-users.properties" relative-to="jboss.server.config.dir"/>
                </authentication>
                <authorization>
                    <properties path="application-roles.properties" relative-to="jboss.server.config.dir"/>
                </authorization>
            </security-realm>
        </security-realms>
        <audit-log>
            <formatters>
                <json-formatter name="json-formatter"/>
            </formatters>
            <handlers>
                <file-handler name="file" formatter="json-formatter" path="audit-log.log" relative-to="jboss.server.data.dir"/>
            </handlers>
            <logger log-boot="true" log-read-only="false" enabled="false">
                <handlers>
                    <handler name="file"/>
                </handlers>
            </logger>
        </audit-log>
        <management-interfaces>
            <http-interface security-realm="ManagementRealm" http-upgrade-enabled="true">
                <socket-binding http="management-http"/>
            </http-interface>
        </management-interfaces>
        <access-control provider="simple">
            <role-mapping>
                <role name="SuperUser">
                    <include>
                        <user name="$local"/>
                    </include>
                </role>
            </role-mapping>
        </access-control>
    </management>

    <profile>
        <subsystem xmlns="urn:jboss:domain:logging:2.0">
            <console-handler name="CONSOLE">
                <level name="INFO"/>
                <formatter>
                    <named-formatter name="COLOR-PATTERN"/>
                </formatter>
            </console-handler>
            <periodic-rotating-file-handler name="FILE" autoflush="true">
                <formatter>
                    <named-formatter name="PATTERN"/>
                </formatter>
                <file relative-to="jboss.server.log.dir" path="server.log"/>
                <suffix value=".yyyy-MM-dd"/>
                <append value="true"/>
            </periodic-rotating-file-handler>
            <logger category="com.arjuna">
                <level name="WARN"/>
            </logger>
            <logger category="org.apache.tomcat.util.modeler">
                <level name="WARN"/>
            </logger>
            <logger category="org.jboss.as.config">
                <level name="DEBUG"/>
            </logger>
            <logger category="sun.rmi">
                <level name="WARN"/>
            </logger>
            <logger category="jacorb">
                <level name="WARN"/>
            </logger>
            <logger category="jacorb.config">
                <level name="ERROR"/>
            </logger>
            <root-logger>
                <level name="INFO"/>
                <handlers>
                    <handler name="CONSOLE"/>
                    <handler name="FILE"/>
                </handlers>
            </root-logger>
            <formatter name="PATTERN">
                <pattern-formatter pattern="%d{yyyy-MM-dd HH:mm:ss,SSS} %-5p [%c] (%t) %s%E%n"/>
            </formatter>
            <formatter name="COLOR-PATTERN">
                <pattern-formatter pattern="%K{level}%d{HH:mm:ss,SSS} %-5p [%c] (%t) %s%E%n"/>
            </formatter>
        </subsystem>
        <subsystem xmlns="urn:jboss:domain:batch:1.0">
            <job-repository>
                <in-memory/>
            </job-repository>
            <thread-pool>
                <max-threads count="10"/>
                <keepalive-time time="30" unit="seconds"/>
            </thread-pool>
        </subsystem>
        <subsystem xmlns="urn:jboss:domain:datasources:2.0">
            <datasources>
                <datasource jndi-name="java:jboss/datasources/ExampleDS" pool-name="ExampleDS" enabled="true" use-java-context="true">
                    <connection-url>jdbc:h2:mem:test;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE</connection-url>
                    <driver>h2</driver>
                    <security>
                        <user-name>sa</user-name>
                        <password>sa</password>
                    </security>
                </datasource>
                <datasource jta="true" jndi-name="java:jboss/datasources/homo" pool-name="Homo" enabled="true" use-ccm="true">
                    <connection-url>jdbc:oracle:thin:@172.16.1.171:1521:orcl</connection-url>
                    <driver-class>oracle.jdbc.OracleDriver</driver-class>
                    <driver>ojdbc6.jar</driver>
                    <pool>
                        <min-pool-size>1</min-pool-size>
                        <max-pool-size>4</max-pool-size>
                        <prefill>true</prefill>
                    </pool>
                    <security>
                        <user-name>hc</user-name>
                        <password>xxx</password>
                    </security>
                    <validation>
                        <validate-on-match>false</validate-on-match>
                        <background-validation>false</background-validation>
                    </validation>
                    <timeout>
                        <set-tx-query-timeout>false</set-tx-query-timeout>
                        <blocking-timeout-millis>0</blocking-timeout-millis>
                        <idle-timeout-minutes>0</idle-timeout-minutes>
                        <query-timeout>0</query-timeout>
                        <use-try-lock>0</use-try-lock>
                        <allocation-retry>0</allocation-retry>
                        <allocation-retry-wait-millis>0</allocation-retry-wait-millis>
                    </timeout>
                    <statement>
                        <share-prepared-statements>false</share-prepared-statements>
                    </statement>
                </datasource>
                <datasource jta="true" jndi-name="java:jboss/datasources/producao" pool-name="Producao" enabled="true" use-ccm="true">
                    <connection-url>jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS_LIST=(LOAD_BALANCE=ON)(ADDRESS=(PROTOCOL=TCP)(HOST=piodb-scan)(PORT=1521))(ADDRESS=(PROTOCOL=TCP)(HOST=piodb-scan)(PORT=1521)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=hcb)))</connection-url>
                    <driver-class>oracle.jdbc.OracleDriver</driver-class>
                    <driver>ojdbc6.jar</driver>
                    <pool>
                        <min-pool-size>1</min-pool-size>
                        <max-pool-size>5</max-pool-size>
                        <prefill>true</prefill>
                    </pool>
                    <security>
                        <user-name>hc</user-name>
                        <password>xxx</password>
                    </security>
                    <validation>
                        <valid-connection-checker class-name="org.jboss.jca.adapters.jdbc.extensions.oracle.OracleValidConnectionChecker"/>
                        <validate-on-match>false</validate-on-match>
                        <background-validation>false</background-validation>
                        <stale-connection-checker class-name="org.jboss.jca.adapters.jdbc.extensions.oracle.OracleStaleConnectionChecker"/>
                        <exception-sorter class-name="org.jboss.jca.adapters.jdbc.extensions.oracle.OracleExceptionSorter"/>
                    </validation>
                    <timeout>
                        <set-tx-query-timeout>false</set-tx-query-timeout>
                        <blocking-timeout-millis>0</blocking-timeout-millis>
                        <idle-timeout-minutes>0</idle-timeout-minutes>
                        <query-timeout>0</query-timeout>
                        <use-try-lock>0</use-try-lock>
                        <allocation-retry>0</allocation-retry>
                        <allocation-retry-wait-millis>0</allocation-retry-wait-millis>
                    </timeout>
                    <statement>
                        <share-prepared-statements>false</share-prepared-statements>
                    </statement>
                </datasource>
                <datasource jta="true" jndi-name="java:jboss/datasources/hcdev" pool-name="HcDev" enabled="true" use-ccm="true">
                    <connection-url>jdbc:oracle:thin:@172.16.1.13:1521:orcl</connection-url>
                    <driver-class>oracle.jdbc.OracleDriver</driver-class>
                    <driver>ojdbc6.jar</driver>
                    <security>
                        <user-name>hc_homologacao</user-name>
                        <password>xxx</password>
                    </security>
                    <validation>
                        <validate-on-match>false</validate-on-match>
                        <background-validation>false</background-validation>
                    </validation>
                    <timeout>
                        <set-tx-query-timeout>false</set-tx-query-timeout>
                        <blocking-timeout-millis>0</blocking-timeout-millis>
                        <idle-timeout-minutes>0</idle-timeout-minutes>
                        <query-timeout>0</query-timeout>
                        <use-try-lock>0</use-try-lock>
                        <allocation-retry>0</allocation-retry>
                        <allocation-retry-wait-millis>0</allocation-retry-wait-millis>
                    </timeout>
                    <statement>
                        <share-prepared-statements>false</share-prepared-statements>
                    </statement>
                </datasource>
                <drivers>
                    <driver name="h2" module="com.h2database.h2">
                        <xa-datasource-class>org.h2.jdbcx.JdbcDataSource</xa-datasource-class>
                    </driver>
                </drivers>
            </datasources>
        </subsystem>
        <subsystem xmlns="urn:jboss:domain:deployment-scanner:2.0">
            <deployment-scanner path="deployments" relative-to="jboss.server.base.dir" scan-interval="5000"/>
        </subsystem>
        <subsystem xmlns="urn:jboss:domain:ee:2.0">
            <spec-descriptor-property-replacement>false</spec-descriptor-property-replacement>
            <concurrent>
                <context-services>
                    <context-service name="default" jndi-name="java:jboss/ee/concurrency/context/default" use-transaction-setup-provider="true"/>
                </context-services>
                <managed-thread-factories>
                    <managed-thread-factory name="default" jndi-name="java:jboss/ee/concurrency/factory/default" context-service="default"/>
                </managed-thread-factories>
                <managed-executor-services>
                    <managed-executor-service name="default" jndi-name="java:jboss/ee/concurrency/executor/default" context-service="default" hung-task-threshold="60000" core-threads="5" max-threads="25" keepalive-time="5000"/>
                </managed-executor-services>
                <managed-scheduled-executor-services>
                    <managed-scheduled-executor-service name="default" jndi-name="java:jboss/ee/concurrency/scheduler/default" context-service="default" hung-task-threshold="60000" core-threads="2" keepalive-time="3000"/>
                </managed-scheduled-executor-services>
            </concurrent>
            <default-bindings context-service="java:jboss/ee/concurrency/context/default" datasource="java:jboss/datasources/ExampleDS" jms-connection-factory="java:jboss/DefaultJMSConnectionFactory" managed-executor-service="java:jboss/ee/concurrency/executor/default" managed-scheduled-executor-service="java:jboss/ee/concurrency/scheduler/default" managed-thread-factory="java:jboss/ee/concurrency/factory/default"/>
        </subsystem>
        <subsystem xmlns="urn:jboss:domain:ejb3:2.0">
            <session-bean>
                <stateful default-access-timeout="5000" cache-ref="simple" passivation-disabled-cache-ref="simple"/>
                <singleton default-access-timeout="5000"/>
            </session-bean>
            <pools>
                <bean-instance-pools>
                    <strict-max-pool name="slsb-strict-max-pool" max-pool-size="20" instance-acquisition-timeout="5" instance-acquisition-timeout-unit="MINUTES"/>
                    <strict-max-pool name="mdb-strict-max-pool" max-pool-size="20" instance-acquisition-timeout="5" instance-acquisition-timeout-unit="MINUTES"/>
                </bean-instance-pools>
            </pools>
            <caches>
                <cache name="simple"/>
                <cache name="distributable" passivation-store-ref="infinispan" aliases="passivating clustered"/>
            </caches>
            <passivation-stores>
                <passivation-store name="infinispan" cache-container="ejb" max-size="10000"/>
            </passivation-stores>
            <async thread-pool-name="default"/>
            <timer-service thread-pool-name="default" default-data-store="default-file-store">
                <data-stores>
                    <file-data-store name="default-file-store" path="timer-service-data" relative-to="jboss.server.data.dir"/>
                </data-stores>
            </timer-service>
            <remote connector-ref="http-remoting-connector" thread-pool-name="default"/>
            <thread-pools>
                <thread-pool name="default">
                    <max-threads count="10"/>
                    <keepalive-time time="100" unit="milliseconds"/>
                </thread-pool>
            </thread-pools>
            <default-security-domain value="other"/>
            <default-missing-method-permissions-deny-access value="true"/>
        </subsystem>
        <subsystem xmlns="urn:jboss:domain:io:1.1">
            <worker name="default"/>
            <buffer-pool name="default"/>
        </subsystem>
        <subsystem xmlns="urn:jboss:domain:infinispan:2.0">
            <cache-container name="web" default-cache="passivation" module="org.wildfly.clustering.web.infinispan">
                <local-cache name="passivation" batching="true">
                    <file-store passivation="true" purge="false"/>
                </local-cache>
                <local-cache name="persistent" batching="true">
                    <file-store passivation="false" purge="false"/>
                </local-cache>
            </cache-container>
            <cache-container name="ejb" default-cache="passivation" module="org.wildfly.clustering.ejb.infinispan" aliases="sfsb">
                <local-cache name="passivation" batching="true">
                    <file-store passivation="true" purge="false"/>
                </local-cache>
                <local-cache name="persistent" batching="true">
                    <file-store passivation="false" purge="false"/>
                </local-cache>
            </cache-container>
            <cache-container name="hibernate" default-cache="local-query" module="org.hibernate">
                <local-cache name="entity">
                    <transaction mode="NON_XA"/>
                    <eviction strategy="LRU" max-entries="10000"/>
                    <expiration max-idle="100000"/>
                </local-cache>
                <local-cache name="local-query">
                    <transaction mode="NONE"/>
                    <eviction strategy="LRU" max-entries="10000"/>
                    <expiration max-idle="100000"/>
                </local-cache>
                <local-cache name="timestamps">
                    <transaction mode="NONE"/>
                    <eviction strategy="NONE"/>
                </local-cache>
            </cache-container>
        </subsystem>
        <subsystem xmlns="urn:jboss:domain:jaxrs:1.0"/>
        <subsystem xmlns="urn:jboss:domain:jca:2.0">
            <archive-validation enabled="true" fail-on-error="true" fail-on-warn="false"/>
            <bean-validation enabled="true"/>
            <default-workmanager>
                <short-running-threads>
                    <core-threads count="50"/>
                    <queue-length count="50"/>
                    <max-threads count="50"/>
                    <keepalive-time time="10" unit="seconds"/>
                </short-running-threads>
                <long-running-threads>
                    <core-threads count="50"/>
                    <queue-length count="50"/>
                    <max-threads count="50"/>
                    <keepalive-time time="10" unit="seconds"/>
                </long-running-threads>
            </default-workmanager>
            <cached-connection-manager/>
        </subsystem>
        <subsystem xmlns="urn:jboss:domain:jdr:1.0"/>
        <subsystem xmlns="urn:jboss:domain:jmx:1.3">
            <expose-resolved-model/>
            <expose-expression-model/>
            <remoting-connector/>
        </subsystem>
        <subsystem xmlns="urn:jboss:domain:jpa:1.1">
            <jpa default-datasource="" default-extended-persistence-inheritance="DEEP"/>
        </subsystem>
        <subsystem xmlns="urn:jboss:domain:jsf:1.0"/>
        <subsystem xmlns="urn:jboss:domain:mail:2.0">
            <mail-session name="default" jndi-name="java:jboss/mail/Default">
                <smtp-server outbound-socket-binding-ref="mail-smtp"/>
            </mail-session>
        </subsystem>
        <subsystem xmlns="urn:jboss:domain:naming:2.0">
            <remote-naming/>
        </subsystem>
        <subsystem xmlns="urn:jboss:domain:pojo:1.0"/>
        <subsystem xmlns="urn:jboss:domain:remoting:2.0">
            <endpoint worker="default"/>
            <http-connector name="http-remoting-connector" connector-ref="default" security-realm="ApplicationRealm"/>
        </subsystem>
        <subsystem xmlns="urn:jboss:domain:resource-adapters:2.0"/>
        <subsystem xmlns="urn:jboss:domain:sar:1.0"/>
        <subsystem xmlns="urn:jboss:domain:security:1.2">
            <security-domains>
                <security-domain name="other" cache-type="default">
                    <authentication>
                        <login-module code="Remoting" flag="optional">
                            <module-option name="password-stacking" value="useFirstPass"/>
                        </login-module>
                        <login-module code="RealmDirect" flag="required">
                            <module-option name="password-stacking" value="useFirstPass"/>
                        </login-module>
                    </authentication>
                </security-domain>
                <security-domain name="jboss-web-policy" cache-type="default">
                    <authorization>
                        <policy-module code="Delegating" flag="required"/>
                    </authorization>
                </security-domain>
                <security-domain name="jboss-ejb-policy" cache-type="default">
                    <authorization>
                        <policy-module code="Delegating" flag="required"/>
                    </authorization>
                </security-domain>
            </security-domains>
        </subsystem>
        <subsystem xmlns="urn:jboss:domain:transactions:2.0">
            <core-environment>
                <process-id>
                    <uuid/>
                </process-id>
            </core-environment>
            <recovery-environment socket-binding="txn-recovery-environment" status-socket-binding="txn-status-manager"/>
        </subsystem>
        <subsystem xmlns="urn:jboss:domain:undertow:1.2">
            <buffer-cache name="default"/>
            <server name="default-server">
                <http-listener name="default" socket-binding="http"/>
                <host name="default-host" alias="localhost">
                    <location name="/" handler="welcome-content"/>
                    <filter-ref name="server-header"/>
                    <filter-ref name="x-powered-by-header"/>
                </host>
            </server>
            <servlet-container name="default">
                <jsp-config/>
                <websockets/>
            </servlet-container>
            <handlers>
                <file name="welcome-content" path="${jboss.home.dir}/welcome-content"/>
            </handlers>
            <filters>
                <response-header name="server-header" header-name="Server" header-value="WildFly/8"/>
                <response-header name="x-powered-by-header" header-name="X-Powered-By" header-value="Undertow/1"/>
            </filters>
        </subsystem>
        <subsystem xmlns="urn:jboss:domain:webservices:1.2">
            <wsdl-host>${jboss.bind.address:127.0.0.1}</wsdl-host>
            <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>
            <client-config name="Standard-Client-Config"/>
        </subsystem>
        <subsystem xmlns="urn:jboss:domain:weld:2.0"/>
    </profile>

    <interfaces>
        <interface name="management">
            <inet-address value="${jboss.bind.address.management:127.0.0.1}"/>
        </interface>
        <interface name="public">
            <any-address/>
        </interface>
        <interface name="unsecure">
            <inet-address value="${jboss.bind.address.unsecure:127.0.0.1}"/>
        </interface>
    </interfaces>

    <socket-binding-group name="standard-sockets" default-interface="public" port-offset="${jboss.socket.binding.port-offset:0}">
        <socket-binding name="management-http" interface="management" port="${jboss.management.http.port:9990}"/>
        <socket-binding name="management-https" interface="management" port="${jboss.management.https.port:9993}"/>
        <socket-binding name="ajp" port="${jboss.ajp.port:8009}"/>
        <socket-binding name="http" port="${jboss.http.port:8085}"/>
        <socket-binding name="https" port="${jboss.https.port:8443}"/>
        <socket-binding name="txn-recovery-environment" port="4712"/>
        <socket-binding name="txn-status-manager" port="4713"/>
        <outbound-socket-binding name="mail-smtp">
            <remote-destination host="localhost" port="25"/>
        </outbound-socket-binding>
    </socket-binding-group>

</server>

Obrigado pela ajuda.

Ola, cemeça habilitando o acesso externo:

adiciona esta parte dentro das tags interfaces

<interface name="any">
    <any-address/>
</interface>

default-interface=“public” deve ser alterado para default-interface=“any”

Bom dia @aix.

Realizei a alteração conforme sugerida, porém continua dando o mesmo erro.

09:31:30,398 WARNING [org.apache.cxf.phase.PhaseInterceptorChain] (default task-39) Interceptor for {http://webservice.ws.sisonco.com.br/}SisoncoLabWSService#{http://webservice.ws.sisonco.com.br/}solicitarExameLIS has thrown exception, unwinding now: org.apache.cxf.interceptor.Fault: Unexpected wrapper element solicitarExameLIS found. Expected {http://webservice.ws.sisonco.com.br/}solicitarExameLIS.

Obrigado.

blz, se esta tudo certo agora você pode abrir o admin console do wildfly na web? testa ai: http://seu.dominio.com:9990

Ok.
O admin console do Wildfly na web está funcionando normalmente, inclusive eu já havia configurado os Datasources JDBC por este console.

ok, agora posta tua classe @webservice e a interface dela se tem

Minha classe @webservice é a seguinte:

package br.com.sisonco.ws.webservice;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import javax.inject.Inject;
import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebService;

import br.com.sisonco.ws.converters.ConverteXmlString;
import br.com.sisonco.ws.model.depara.CaraterAtendimento;
import br.com.sisonco.ws.model.integracao.Exame;
import br.com.sisonco.ws.model.integracao.Mensagem;
import br.com.sisonco.ws.model.integracao.TratamentoMensagemRetorno;
import br.com.sisonco.ws.model.sisonco.IntegracaoExameLis;
import br.com.sisonco.ws.model.sisonco.IntegracaoPedidoExameLis;
import br.com.sisonco.ws.model.sisonco.Pessoa;
import br.com.sisonco.ws.model.sisonco.SolicitacaoExame;
import br.com.sisonco.ws.model.sisonco.SolicitacaoExameProcedimento;
import br.com.sisonco.ws.service.IntegracaoLisMvService;
import br.com.sisonco.ws.service.ParametroSistemaService;
import br.com.sisonco.ws.service.PessoaService;
import br.com.sisonco.ws.service.SolicitacaoExameService;

@WebService()
public class SisoncoLabWS {
	
	private static final String SOLICITACAO_TIPO_ROTINA = "R";
	private static final int FILIAL_AME_CLINICO = 10;

	@Inject
	private SolicitacaoExameService solicitacaoExameService;
	@Inject
	private PessoaService pessoaService;	
	@Inject
	private IntegracaoLisMvService integracaoLisMvService;	 
	@Inject
	private ParametroSistemaService parametroDeSistemaService;

	private TratamentoMensagemRetorno tratamentoMensagemRetorno = new TratamentoMensagemRetorno();
	
	/*
	 * Método do Webservice responsável por receber o Pedido de Exame MV e
	 * realizar a Solicitação de Exame no Sisonco, realizando o cadastro do
	 * paciente no sistema caso necessário.
	 */
	@WebMethod
	public String solicitarExameLIS(
			@WebParam(name = "pedidoExame") String pedidoExame) {

		Mensagem mensagem = (Mensagem) new ConverteXmlString().unmarshal(Mensagem.class,
				pedidoExame);
		
		IntegracaoPedidoExameLis integracaoPedidoExameLis = new IntegracaoPedidoExameLis();
		integracaoPedidoExameLis.setSistemaOrigemId(parametroDeSistemaService.getParametroSistema("ITG_SISTEMA_MV", FILIAL_AME_CLINICO));
		integracaoPedidoExameLis.setSistemaDestinoId(parametroDeSistemaService.getParametroSistema("ITG_SISTEMA_SISONCO", FILIAL_AME_CLINICO));
		integracaoPedidoExameLis.setDataIntegracao(new Date());
		integracaoPedidoExameLis.setXml(pedidoExame);
		
		if(mensagem.getMotivoErro() != null){
			
			integracaoPedidoExameLis.setErro(mensagem.getMotivoErro().getDescricao());
			integracaoLisMvService.salvar(integracaoPedidoExameLis);
			
			return tratamentoMensagemRetorno.retornaMensagemErro();
			
		}
		
		Pessoa pessoa = pessoaService.buscarOuCadastrarPessoaSisonco(mensagem, integracaoPedidoExameLis);
		
		if (pessoa == null) {
			return tratamentoMensagemRetorno.retornaMensagemErro();
		}

		return solicitarExame(mensagem, pessoa, integracaoPedidoExameLis);
		
	}
	
	
	/*
	 * Método isolado responsável por solicitar o exame
	 */
	private String solicitarExame(Mensagem mensagem, Pessoa pessoa, IntegracaoPedidoExameLis integracaoPedidoExameLis) {
		
		BigDecimal convenioAmeClinico = parametroDeSistemaService.getParametroSistema("CONVENIO_AME_CLINICO", FILIAL_AME_CLINICO);
		BigDecimal centroDeCustoAmeClinico = parametroDeSistemaService.getParametroSistema("CCUSTO_AME_CLINICO", FILIAL_AME_CLINICO);
		BigDecimal modalidadeGeralDeAtendimento = parametroDeSistemaService.getParametroSistema("MOD_AT_GERAL", FILIAL_AME_CLINICO);
		BigDecimal atendimentoAmbulatorial = parametroDeSistemaService.getParametroSistema("TP_AT_AMBULATORIO", FILIAL_AME_CLINICO);
		BigDecimal tipoPacienteInterno = parametroDeSistemaService.getParametroSistema("TP_PACIENTE_INTERNO", FILIAL_AME_CLINICO);
		
		SolicitacaoExame solicitacao = new SolicitacaoExame();

		solicitacao.setPesIdConvenio(convenioAmeClinico);
		solicitacao.setPesIdSolicitante(new BigDecimal(mensagem.getPedidoExame().getPrestadorSolicitanteDePara()));
		solicitacao.setPesIdPaciente(new BigDecimal(pessoa.getPesId()));
		solicitacao.setTipo(SOLICITACAO_TIPO_ROTINA);
		solicitacao.setObs("Integração MV");
		solicitacao.setDtSolicitacao(new Date());
		solicitacao.setCentroCustoIdOrigem(centroDeCustoAmeClinico);
		solicitacao.setStatusId(BigDecimal.ONE);
		solicitacao.setFilialId(new BigDecimal(FILIAL_AME_CLINICO));
		
		List<Exame> listaExame = mensagem.getPedidoExame().getListaExame();
		solicitacao.setSolicitacaoExameProcedimentos(new ArrayList<SolicitacaoExameProcedimento>());
		
		/*
		 * Registro de Integração no Sisonco
		 */		
		integracaoPedidoExameLis.setPedidoExameOrigemId(new BigDecimal(mensagem.getPedidoExame().getCodigoPedido()));
		
		List<IntegracaoExameLis> exames = new ArrayList<IntegracaoExameLis>();
		integracaoPedidoExameLis.setItgExameLis(exames);
		
		IntegracaoExameLis integracaoExameLis = null;
		
		for (Exame exame : listaExame) {

			SolicitacaoExameProcedimento solicitacaoExameProcedimento = new SolicitacaoExameProcedimento();

			solicitacaoExameProcedimento.setProId(new BigDecimal(1676));
//			solicitacaoExameProcedimento.setProId(new BigDecimal(exame.getCodigoExameDePara()));
			solicitacaoExameProcedimento.setEfetivado("N");
			solicitacaoExameProcedimento.setCentroCustoId(centroDeCustoAmeClinico);
			solicitacaoExameProcedimento.setStatusId(BigDecimal.ONE);
			solicitacaoExameProcedimento.setPesIdResponsavel(new BigDecimal(mensagem.getPedidoExame().getPrestadorSolicitanteDePara()));
			solicitacaoExameProcedimento.setQtdSolicitada(BigDecimal.ONE);
			solicitacaoExameProcedimento.setQtdRealizada(BigDecimal.ZERO);
			solicitacaoExameProcedimento.setPesIdConvenio(convenioAmeClinico);
			solicitacaoExameProcedimento.setClasIdTipoPaciente(tipoPacienteInterno);
			
			int valorCaraterAtendimento = new CaraterAtendimento().getCaraterAtendimento(mensagem.getPedidoExame().getTipoSolicitacao());
			solicitacaoExameProcedimento.setClassIdCaraterAtendimento(new BigDecimal(valorCaraterAtendimento));

			solicitacaoExameProcedimento.setClassIdTipoAtendimento(atendimentoAmbulatorial);
			solicitacaoExameProcedimento.setEfetivadoAnfla("N");
			solicitacaoExameProcedimento.setBloqueiaImpLaudo("N");			
			solicitacaoExameProcedimento.setClassIdModalidAtend(modalidadeGeralDeAtendimento);

			/*
			 * Verificar De-Para de Material de Exame
			 */
			// solicitacaoExameProcedimento.setMaterialExameLabId(new BigDecimal(exame.getListaColeta().get(0).getCodigoMaterialDePara()));
			
			solicitacaoExameProcedimento.setSelecionarPEstudo("N");
			solicitacaoExameProcedimento.setSolicitacaoExame(solicitacao);
			
			solicitacao.addSolicitacaoExameProcedimento(solicitacaoExameProcedimento);
			
			/*
			 * Registro de Integração no Sisonco
			 */
			integracaoExameLis = new IntegracaoExameLis();
			integracaoExameLis.setItgPedidoExameLis(integracaoPedidoExameLis);
			integracaoExameLis.setExameOrigemId(new BigDecimal(exame.getCodigoItemPedido()));
			integracaoExameLis.setExameDestinoId(new BigDecimal(solicitacaoExameProcedimento.getSolicExameProcId()));
			integracaoExameLis.setDataIntegracao(new Date());
			integracaoExameLis.setIntegrado("S");
			integracaoPedidoExameLis.addExameLis(integracaoExameLis);
			
		}

		try {
			
			solicitacaoExameService.salvarSolicitacao(solicitacao);
			
			setExameDestinoPedido(solicitacao, exames);
			
			integracaoPedidoExameLis.setPedidoExameDestinoId(new BigDecimal(solicitacao.getSolicitacaoExameId()));
			integracaoPedidoExameLis.setIntegrado("S");
			integracaoLisMvService.salvar(integracaoPedidoExameLis);
			
			return tratamentoMensagemRetorno.retornaMensagemSucesso();
			
		} catch (Exception e) {
			
			integracaoPedidoExameLis.setErro(e.getMessage());
			integracaoLisMvService.salvar(integracaoPedidoExameLis);
			
			return tratamentoMensagemRetorno.retornaMensagemErro();
		}

	}

	private void setExameDestinoPedido(SolicitacaoExame solicitacao,List<IntegracaoExameLis> exames) {
		
		int contador = 0;			
		for (SolicitacaoExameProcedimento s : solicitacao.getSolicitacaoExameProcedimentos()) {				
			exames.get(contador).setExameDestinoId(new BigDecimal(s.getSolicExameProcId()));				
			contador++;				
		}
		
	}	
	
}

Mais uma vez obrigado pela ajuda.

consegue abrir o wsdl pela url em acesso externo ?

Desculpe se não mencionei, mas essa integração é feita entre dois sistemas internos da empresa, então essa URL não está disponível na internet, como o próprio endereço IP já diz, está disponível apenas na rede interna.

Consigo abrir o WSDL normalmente pela URL (http://172.16.3.224:8086/SisoncoLabWS/SisoncoLabWS?wsdl) em qualquer dispositivo da minha rede, e também consigo enviar requisições através do SOAPUi de qualquer dispositivo da rede, e neste caso tudo funciona normalmente, sem erro.

desculpe tantas perguntas, mas estou querendo chegar no erro, peloq ue vi é assim: o seu cliente esta formando o corpo diferente do que o servidor espera e provavelmente é aquela namespace, você usou JAXB?
Particularmente eu teria enviado o objeto no SOAP, quando trabalhamos com Strings nós perdemos toda a validação no obejto, no servidor você pode hablitar para ver o log da requisição.

veja:

xmlns:tns="http://webservice.ws.sisonco.com.br/"

type="tns:solicitarExameLISResponse"></xs:element>

Tranquilo, sem problemas.

O Webservice SOAP que envia o XML como String é de um sistema terceiro, famoso nacionalmente na área da saúde, que contém documentação exigindo que para realizar a integração tenhamos um webservice do nosso lado com um método pronto para receber uma String, no caso o XML com os dados a serem integrados.
Então eu criei o webservice SOAP para o meu sistema laboratorial, contendo um método que recebe String, utilizando JAXB.

Em relação a namespace, o que eu poderia fazer?

Quando subo o Wildfly repare no valor do atributo “serviceName”:

10:01:27,804 INFO  [org.jboss.ws.cxf.metadata] (MSC service thread 1-4) JBWS024061: Adding service endpoint metadata: id=br.com.sisonco.ws.webservice.SisoncoLabWS
 address=http://172.16.3.224:8086/SisoncoLabWS/SisoncoLabWS
 implementor=br.com.sisonco.ws.webservice.SisoncoLabWS
 serviceName={http://webservice.ws.sisonco.com.br/}SisoncoLabWSService
 portName={http://webservice.ws.sisonco.com.br/}SisoncoLabWSPort
 annotationWsdlLocation=null
 wsdlLocationOverride=null
 mtomEnabled=false

Agora repare no erro:

13:09:59,590 WARNING [org.apache.cxf.phase.PhaseInterceptorChain] (default task-24) Interceptor for {http://webservice.ws.sisonco.com.br/}SisoncoLabWSService#{http://webservice.ws.sisonco.com.br/}solicitarExameLIS has thrown exception, unwinding now: org.apache.cxf.interceptor.Fault: Unexpected wrapper element solicitarExameLIS found. Expected {http://webservice.ws.sisonco.com.br/}solicitarExameLIS.

Ele diz que esperava {http://webservice.ws.sisonco.com.br/}solicitarExameLIS e foi interceptado por {http://webservice.ws.sisonco.com.br/}SisoncoLabWSService#{http://webservice.ws.sisonco.com.br/}solicitarExameLIS

Tentei alterar o serviceName atráves de @WebService(serviceName=xxx) na tentativa de solucionar o erro mas não funcionou.

Obrigado.

Apenas para fins de teste, criei 3 projetos iguais contendo um método que recebe String e retorna essa mesma String, porém com servidores diferentes. Um com Wildfly 8.2, o outro com Glassfish 4 e o outro com o Tomcat 8.36.

O projeto com o Tomcat funcionou, ou seja, o webservice terceiro conseguiu enviar o XML e o meu webservice conseguiu recebe-lo normalmente.

Isso se deve ao fato do Tomcat ser apenas um servlet container, mais simples que o Wildfly e o Glassfish?

Não é por ser servlet-container brother é a mensagem mesmo que não esta no padrão que ele espera receber, o wildfly usa o CXF, eu uso aqui tanto WS quanto WSClient e funciona bem, experimenta desabilitar a validação para ver se passa, veja:

<client-config name="Standard-Client-Config">
    <property name="schema-validation-enabled" value="false"/>
</client-config>

Boa tarde @aix.

Eu já havia feito este teste, infelizmente desabilitar essa validação não resolveu, continua o mesmo erro.

15:19:11,157 WARNING [org.apache.cxf.phase.PhaseInterceptorChain] (default task-33) Interceptor for {http://webservice.ws.sisonco.com.br/}SisoncoLabWSService#{http://webservice.ws.sisonco.com.br/}solicitarExameLIS has thrown exception, unwinding now: org.apache.cxf.interceptor.Fault: Unexpected wrapper element solicitarExameLIS found. Expected {http://webservice.ws.sisonco.com.br/}solicitarExameLIS.

O Webservice terceiro que esta me enviando o XML, tem como servidor o Tomcat e utiliza o Axis.
No caso do Wildfly, utiliza o CXF, e provavelmente está recebendo a mensagem em um formato que ele não espera receber e com isso dá o erro.
O problema está na incompatibilidade do formato da mensagem gerado pelo Axis x formato gerado/esperado pelo CXF? Como eu poderia resolver isso?

Eu fiz um teste gerando do Webservice com Axis pelo Eclipse, com o Wildfly mesmo, e ai ele passa a receber a mensagem normalmente e não acusar mais o erro. Só que tudo que é injetado com @Inject passa a não funcionar mais, ou seja, corrigi um erro e criei outro.

Eu gostaria de continuar utilizando o Wildfly como servidor de aplicação, pois utilizo EJB no projeto e o Tomcat não suporta. E também os outros projetos Java aqui também utilizam o Wildfly.

Obrigado pela ajuda.

se esta dando o mesmo erro não esta correto, dasabilita la e coloca isso no @Webservice

@SchemaValidation(type = SchemaValidation.SchemaValidationType.IN)

outra coisa: ativa os logs, precisamos ver como a mensagem SOAP esta chegando, assim vamos ver o erro.

a classe Mensagem é um objeto mapeado com annotation xml?

quem deve estar gerando o problema é este cara:

ConverteXmlString().unmarshal(Mensagem.class, pedidoExame);

experimentou colocar um brakepoint nesta linha e ver se a String pedido exame esta ali?

Coloquei o @SchemaValidation(type = SchemaValidation.SchemaValidationType.IN) na minha classe anotada como @Webservice, porém o erro ainda persiste.

Como eu ativo esse log para ver a mensagem SOAP chegando?

Sim, a classe Mensagem está anotada com xml.
No trecho de código ConverteXmlString().unmarshal(Mensagem.class, pedidoExame); , o que eu faço é receber a String pedidoExame (XML recebido) e converter toda sua estrutura para a classe Mensagem, que contem diversas outras classes, para fazer todo o trabalho de integração.

Eu já havia tentando debugar esta aplicação desta maneira, porém sem sucesso.
Eu coloquei um breakpoint logo no início e simplesmente não entra no método, apenas fica aparendo a mensagem abaixo no log.

16:11:51,140 WARNING [org.apache.cxf.phase.PhaseInterceptorChain] (default task-31) Interceptor for {http://webservice.ws.sisonco.com.br/}SisoncoLabWSService#{http://webservice.ws.sisonco.com.br/}solicitarExameLIS has thrown exception, unwinding now: org.apache.cxf.interceptor.Fault: Unexpected wrapper element solicitarExameLIS found.   Expected {http://webservice.ws.sisonco.com.br/}solicitarExameLIS.
	at org.apache.cxf.interceptor.DocLiteralInInterceptor.handleMessage(DocLiteralInInterceptor.java:104)
	at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:272)
	at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:121)
	at org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(AbstractHTTPDestination.java:241)
	at org.jboss.wsf.stack.cxf.RequestHandlerImpl.handleHttpRequest(RequestHandlerImpl.java:97)
	at org.jboss.wsf.stack.cxf.transport.ServletHelper.callRequestHandler(ServletHelper.java:131)
	at org.jboss.wsf.stack.cxf.CXFServletExt.invoke(CXFServletExt.java:88)
	at org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:286)
	at org.apache.cxf.transport.servlet.AbstractHTTPServlet.doPost(AbstractHTTPServlet.java:206)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:707) [jboss-servlet-api_3.1_spec-1.0.0.Final.jar:1.0.0.Final]
	at org.jboss.wsf.stack.cxf.CXFServletExt.service(CXFServletExt.java:136)
	at org.jboss.wsf.spi.deployment.WSFServlet.service(WSFServlet.java:140) [jbossws-spi-2.3.1.Final.jar:2.3.1.Final]
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) [jboss-servlet-api_3.1_spec-1.0.0.Final.jar:1.0.0.Final]
	at io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:86) [undertow-servlet-1.1.8.Final.jar:1.1.8.Final]
	at io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:62) [undertow-servlet-1.1.8.Final.jar:1.1.8.Final]
	at io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36) [undertow-servlet-1.1.8.Final.jar:1.1.8.Final]
	at org.wildfly.extension.undertow.security.SecurityContextAssociationHandler.handleRequest(SecurityContextAssociationHandler.java:78)
	at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) [undertow-core-1.1.8.Final.jar:1.1.8.Final]
	at io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:131) [undertow-servlet-1.1.8.Final.jar:1.1.8.Final]
	at io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:57) [undertow-servlet-1.1.8.Final.jar:1.1.8.Final]
	at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) [undertow-core-1.1.8.Final.jar:1.1.8.Final]
	at io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:46) [undertow-core-1.1.8.Final.jar:1.1.8.Final]
	at io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:64) [undertow-servlet-1.1.8.Final.jar:1.1.8.Final]
	at io.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest(AuthenticationMechanismsHandler.java:58) [undertow-core-1.1.8.Final.jar:1.1.8.Final]
	at io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:70) [undertow-servlet-1.1.8.Final.jar:1.1.8.Final]
	at io.undertow.security.handlers.SecurityInitialHandler.handleRequest(SecurityInitialHandler.java:76) [undertow-core-1.1.8.Final.jar:1.1.8.Final]
	at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) [undertow-core-1.1.8.Final.jar:1.1.8.Final]
	at org.wildfly.extension.undertow.security.jacc.JACCContextIdHandler.handleRequest(JACCContextIdHandler.java:61)
	at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) [undertow-core-1.1.8.Final.jar:1.1.8.Final]
	at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) [undertow-core-1.1.8.Final.jar:1.1.8.Final]
	at io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:261) [undertow-servlet-1.1.8.Final.jar:1.1.8.Final]
	at io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:248) [undertow-servlet-1.1.8.Final.jar:1.1.8.Final]
	at io.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletInitialHandler.java:77) [undertow-servlet-1.1.8.Final.jar:1.1.8.Final]
	at io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:167) [undertow-servlet-1.1.8.Final.jar:1.1.8.Final]
	at io.undertow.server.Connectors.executeRootHandler(Connectors.java:199) [undertow-core-1.1.8.Final.jar:1.1.8.Final]
	at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:761) [undertow-core-1.1.8.Final.jar:1.1.8.Final]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [rt.jar:1.8.0_40]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [rt.jar:1.8.0_40]
	at java.lang.Thread.run(Thread.java:745) [rt.jar:1.8.0_40]

Eu acho muito estranho o debug nem iniciar.
Tem como eu interceptar essa mensagem SOAP que está chegando no Wildfly e verificar exatamente como ela está? Este seria o log que você me pediu para ativar? Desculpe a ignorância.

Obrigado.

fica tranquilo, não é ignorância nenhuma, vamos la.

coloca um customHandlerChain la no @Webservice, ex:

@HandlerChain(file = "/handler.xml")

Adiciona um handler.xml no seu resources, ex:

workspace\your_project\your_project-ejb\src\main\resources

Conteúdo deste XML

<?xml version="1.0" encoding="UTF-8"?>
<handler-chains xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/javaee_web_services_metadata_handler_2_0.xsd">
    <handler-chain>
        <handler>
            <handler-name>br.com.your_project.ws.handle.CustomSOAPHandle</handler-name>
            <handler-class>br.com.your_project.ws.handle.CustomSOAPHandle</handler-class>
        </handler>
    </handler-chain>
</handler-chains>

Aqui custom SOAP Handler, aplica ai no seu projeto e vamos ver.

Fiz como sugerido e olha só o que está chegando no meu log.

SOAP_message.txt (36.9 KB)

Tive que anexar a mensagem porque excedeu o tamanho permitido.

Obrigado.