Erro ao consumir WS SOAP PROTHEUS

Bom dia Thauã,

quando um parâmetro é no tipo date no schema do WSDL o client de WS em java vai utilizar o XMLGragorianCalendar como o tipo do objeto, sendo assim ele não vai permitir que você envie "vazio", pois não existe uma data "em branco".

Como não é um parâmetro obrigatório acho que deveria ser validado no próprio WS do Protheus se o parâmetro é nulo ou não.

Caso isso não for possível, existe um possível "workaround" que você pode tentar, que é criar um arquivo de customização JAXB (aquele arquivo de binding que é possível informar no cadastro de um serviço do fluig), para que quando o serviço for gerado ele considere os parâmetros tipo date como String no client java, tornando assim possível passar uma string em branco como parâmetro.

O contéudo do arquivo de binding seria esse:


<?xml version="1.0" encoding="utf-8"?>
<jxb:bindings version="1.0" xmlns:jxb="http://java.sun.com/xml/ns/jaxb" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc" jxb:extensionBindingPrefixes="xjc">
    <jxb:globalBindings>
        <jxb:javaType name="java.lang.String" xmlType="xsd:date" />
    </jxb:globalBindings>
</jxb:bindings>

Nesse caso todas as datas serão string pro java, então seria importante testar se o client funcionaria também quando realmente você precisar informar uma data e não somente o valor em branco.