Hi *,

I did a complete search on both google and mail archive and couldn't
find a solution. (I really doubted that I am first one who had this
kind of problem. anyway!) So, here it is.

Have anyone of you developed axis2-jibx clients to request services
developed in .NET? For example, a .NET service I tried is

http://ws.cdyne.com/WeatherWS/Weather.asmx?wsdl

I developed an axis2-adb client without any problem, except that
it took me a couple of hours to realized I should use java.util.Calendar
object to receive sd:dateTime type.

However, I had no luck on axis2-jibx approach. I created the required
Java data classes (such as Forecast, ForecastReturn, etc.). Then, I
came up with a binding file as follows:

<?xml version="1.0" encoding="UTF-8"?>
<binding value-style="element" force-classes="true"
         xmlns:tns="http://ws.cdyne.com/WeatherWS/";>

  <namespace uri="http://ws.cdyne.com/WeatherWS/"; default="elements"/>

  <mapping abstract="true" class="com.cdyne.ws.weatherws.Forecast" 
    type-name="tns:Forecast">
    <structure name="Date" field="date" marshaller="NETDateMapper" 
unmarshaller="NETDateMapper"/>
    <value name="WeatherID" field="weatherID"/>
    <value name="Description" field="description" usage="optional"/>
    <structure field="temperatures" usage="optional">
      <value name="MorningLow" field="morninglow" usage="optional"/>
      <value name="DaytimeHigh" field="daytimehigh" usage="optional"/>
    </structure>
    <structure field="probabilityofprecipiation" usage="optional">
      <value name="Nighttime" field="nighttime" usage="optional"/>
      <value name="Daytime" field="daytime" usage="optional"/>
    </structure>
  </mapping>

  <mapping abstract="true" class="com.cdyne.ws.weatherws.ForecastReturn" 
    type-name="tns:ForecastReturn">
    <value name="Success" field="success"/>
    <value name="ResponseText" field="response" usage="optional"/>
    <value name="State" field="state" usage="optional"/>
    <value name="City" field="city" usage="optional"/>
    <value name="WeatherStationCity" field="weatherstationcity" 
usage="optional"/>
    <structure name="ForecastResult" field="forecastresult" usage="optional">
      <collection name="Forecast" field="forecast"/>
    </structure>
  </mapping>

  <mapping abstract="true" class="com.cdyne.ws.weatherws.WeatherDescription" 
    type-name="tns:WeatherDescription">
    <value name="WeatherID" field="weatherID"/>
    <value name="Description" field="description" usage="optional"/>
    <value name="PictureURL" field="pictureUrl" usage="optional"/>
  </mapping>

  <mapping abstract="true" class="com.cdyne.ws.weatherws.WeatherReturn" 
    type-name="tns:WeatherReturn">
    <value name="Success" field="success"/>
    <value name="ResponseText" field="response" usage="optional"/>
    <value name="State" field="state" usage="optional"/>
    <value name="City" field="city" usage="optional"/>
    <value name="WeatherStationCity" field="weatherstationcity" 
usage="optional"/>
    <value name="WeatherID" field="weatherID"/>
    <value name="Description" field="description" usage="optional"/>
    <value name="Temperature" field="temperature" usage="optional"/>
    <value name="RelativeHumidity" field="relativehumidity" usage="optional"/>
    <value name="Wind" field="wind" usage="optional"/>
    <value name="Pressure" field="pressure" usage="optional"/>
    <value name="Visibility" field="visibility" usage="optional"/>
    <value name="WindChill" field="windchill" usage="optional"/>
    <value name="Remarks" field="remarks" usage="optional"/>
  </mapping>


  <mapping abstract="true" class="com.cdyne.ws.weatherws.ArrayOfForecast" 
    type-name="tns:ArrayOfForecast">
    <collection field="forecast" usage="optional"/>
  </mapping>

  <mapping abstract="true" 
class="com.cdyne.ws.weatherws.ArrayOfWeatherDescription" 
    type-name="tns:ArrayOfWeatherDescription">
    <collection field="weatherdescription" usage="optional"/>
  </mapping>

</binding>

Then, the following steps were executed:

wsdl2java -uri http://ws.cdyne.com/WeatherWS/Weather.asmx?WSDL -d jibx -s -uw 
-Ebindingfile binding.xml

java org.jibx.binding.Compile binding.xml

with no problem, and finally

java org.jibx.binding.Run -b binding.xml JibxClient1

which I got error messages like

org.apache.axis2.AxisFault: No unmarshaller for element "{http://ws.cdyne.com/We
atherWS/}Date" (line -1, col -1, in SOAP-message)
        at org.apache.axis2.AxisFault.makeFault(AxisFault.java:430)
        at com.cdyne.ws.weatherws.WeatherStub.convertException(WeatherStub.java:
642)
        at com.cdyne.ws.weatherws.WeatherStub.GetCityForecastByZIP(WeatherStub.j
ava:574)
        at JibxClient1.main(JibxClient1.java:11)

BTW, with or without marshaller/unmarshaller (serialier/deserialer), the error 
messages were the same. So I guess maybe something is wrong in the binding file.
Any clue? Thanks for your patience to read thru such a lengthy 
message.

  --Eric


****************************************************************************
* Creativity is thinking up *              Eric Jui-Lin Lu                 *
* new things. Innovation is *    Dept of Management Information Systems    *
* doing new things.         *       National Chung Hsing University        *
*        ---Theodore Levitt *         http://web.nchu.edu.tw/~jlu          *
****************************************************************************
-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
jibx-users mailing list
jibx-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jibx-users

Reply via email to