6 Replies Latest reply on Apr 2, 2012 5:49 AM by shorero2011

    Bad WSDL default mapping

    shorero2011

      Using a slightly modified version of the basic web-service proxy quick start (using the SOAPProxy action), a WSDL with this service definition:

       

      <wsdl:service name="GetTimeService">

        <wsdl:port binding="tns:GetTimeServiceSoapBinding" name="GetTimeServicePort">

          <soap:address location="http://domU-12-31-39-05-4D-8A.compute-1.internal:8080/timeGetterEjb-1.0/GetTimeService/GetTimeService"/>

        </wsdl:port>

      </wsdl:service>

       

      in an archive named tgetteresb.esb gets the definition mapped by default (that is, no wsdlTransform specified) to this:

       

      <wsdl:service name="GetTimeService">

        <wsdl:port binding="tns:GetTimeServiceSoapBinding" name="GetTimeServicePort">

          <soap:address location="http://127.0.0.1:8080/tgette/http/Proxy/TimeGetterProxy"/>

        </wsdl:port>

      </wsdl:service>

       

      However, the context I need to retrieve the wsdl and access the service is "tgetteresb", not "tgette". That is, the default transform is truncating characters from the generated context. A client can read the WSDL using the right context, but the bad port confuses the client about the actual service URL. I've tried several variations on the .esb file name with the same behavior: the last four characters from the actual context get truncated, regardless of the length of the context.

       

      Anybody have any thoughts?