The answer to your last question is yes. As for the rest, look at the
sample for the dynamic client, a picture is worth 1000 words.

On Sun, Jan 11, 2009 at 2:39 PM, elhanan <[email protected]> wrote:
>
> but if i won't see any source, how will i use it? it's a chicken and egg
> kinda thing ?
>
> my types are not very complex, usually one bean, containing simple types, or
> other array complex types.
>
> i tried using xmlbeans with axis2, but i created beans what tied to xmlbeans
> lib.
>
> wil wsd2java create java beans with just annotations? then i would be able
> to switch back to glue anytime, (that's the main thought here)
>
> Benson Margulies-4 wrote:
>>
>> CXF has a thing called the DynamicClient. At runtime, the
>> DynamicClientFactory will eat the WSDL and create a proxy client. You
>> never see any source. You can use 'invoke'-style methods to call it.
>> It gets clumsier and clumsier depending on how complex your types are.
>> You could give it a whirl and see what happens.
>>
>> Dan might know, as an alternative, if xmlbeans has an xsd-to-pojo
>> generator that you could use to set up pojo-enough client objects.
>>
>> Or, you might find that you don't object to the plague of snails
>> (@nnotations) that you get by using CXF's wsdl2java tool.
>>
>>
>> On Sun, Jan 11, 2009 at 1:58 PM, elhanan <[email protected]> wrote:
>>>
>>> what do you mean complex object in flight?
>>>
>>> and for commiting, well if i were to write such code, i doubt my company
>>> would allow me to commit it as open source, but i always wanted to join
>>> an
>>> os project development as a hobby, i was looking into spring and seam,
>>> but
>>> i didnt' get the time to actually learn them good enough to develop to.
>>>
>>>
>>> Benson Margulies-4 wrote:
>>>>
>>>> This depends on the complexity of your API.
>>>>
>>>> If you've got complex objects in flight, then you'd have to run
>>>> wsdl2java, and that will add JAXB and JAX-WS annotations. 'Not quite
>>>> pojos'.
>>>>
>>>> It would be nice if we could auto-generate classes that, when combined
>>>> with the the Simple front end and Aegis, would conform to a given
>>>> WSDL, but we've haven't got that code. If you'd like to write that
>>>> code ... well, I'd be very happy to mentor/advise/commit for you.
>>>>
>>>>
>>>>
>>>> On Sun, Jan 11, 2009 at 11:22 AM, elhanan <[email protected]> wrote:
>>>>>
>>>>> hi..
>>>>>
>>>>> we are considering on switching our current web service framework which
>>>>> is
>>>>> glue to something else
>>>>>
>>>>> glue worked by gettting a wsdl, and then generating simple pojo's which
>>>>> had
>>>>> no dependencies, and generating a mapping document based on wsdl's
>>>>> schemas.
>>>>> it had one interface which created a dynamic proxy at runtime, which
>>>>> recived
>>>>> an array of objects and return an object.
>>>>>
>>>>> we are interested in something which is as close as possible:
>>>>>
>>>>> given the following wsdl:
>>>>> <?xml version="1.0" encoding="utf-16"?>
>>>>> <wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/";
>>>>> xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/";
>>>>> xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/";
>>>>> xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/";
>>>>> xmlns:tns="http://Phoenix.co.il/UnderWrite";
>>>>> xmlns:s1="http://Phoenix.ESB.Hitum.Schemas.GreenSystemServices.Agent.AgentWSResponse";
>>>>> xmlns:s="http://www.w3.org/2001/XMLSchema";
>>>>> xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/";
>>>>> xmlns:http="http://schemas.xmlsoap.org/wsdl/http/";
>>>>> targetNamespace="http://Phoenix.co.il/UnderWrite";
>>>>> xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/";>
>>>>>  <wsdl:documentation
>>>>> xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/";>BizTalk
>>>>> assembly "Phoenix.ESB.UnderWrite.Biztalk, Version=1.0.0.0,
>>>>> Culture=neutral,
>>>>> PublicKeyToken=3b97ca913d728b36" published web
>>>>> service.</wsdl:documentation>
>>>>>  <wsdl:types>
>>>>>    <s:schema elementFormDefault="qualified"
>>>>> targetNamespace="http://Phoenix.co.il/UnderWrite";>
>>>>>      <s:import
>>>>> namespace="http://Phoenix.ESB.Hitum.Schemas.GreenSystemServices.Agent.AgentWSResponse";
>>>>> />
>>>>>      <s:element name="GetAgentDetails">
>>>>>        <s:complexType>
>>>>>          <s:sequence>
>>>>>            <s:element minOccurs="0" maxOccurs="1" name="part"
>>>>> type="tns:AgentWSRequest" />
>>>>>          </s:sequence>
>>>>>        </s:complexType>
>>>>>      </s:element>
>>>>>      <s:complexType name="AgentWSRequest">
>>>>>        <s:sequence>
>>>>>          <s:element minOccurs="1" maxOccurs="1" form="unqualified"
>>>>> name="AgentNumber" type="s:int" />
>>>>>        </s:sequence>
>>>>>      </s:complexType>
>>>>>      <s:element name="GetAgentDetailsResponse">
>>>>>        <s:complexType>
>>>>>          <s:sequence>
>>>>>            <s:element minOccurs="0" maxOccurs="1"
>>>>> ref="s1:AgentWSResponse"
>>>>> />
>>>>>          </s:sequence>
>>>>>        </s:complexType>
>>>>>      </s:element>
>>>>>    </s:schema>
>>>>>    <s:schema elementFormDefault="qualified"
>>>>> targetNamespace="http://Phoenix.ESB.Hitum.Schemas.GreenSystemServices.Agent.AgentWSResponse";>
>>>>>      <s:element name="AgentWSResponse" type="s1:AgentWSResponse" />
>>>>>      <s:complexType name="AgentWSResponse">
>>>>>        <s:sequence>
>>>>>          <s:element minOccurs="1" maxOccurs="1" form="unqualified"
>>>>> name="ResponseCode" type="s:short" />
>>>>>          <s:element minOccurs="0" maxOccurs="1" form="unqualified"
>>>>> name="ResponseDescription" type="s:string" />
>>>>>          <s:element minOccurs="0" maxOccurs="1" form="unqualified"
>>>>> name="AgentName" type="s:string" />
>>>>>          <s:element minOccurs="1" maxOccurs="1" form="unqualified"
>>>>> name="CancelledDate" type="s:date" />
>>>>>          <s:element minOccurs="0" maxOccurs="1" form="unqualified"
>>>>> name="Street" type="s:string" />
>>>>>          <s:element minOccurs="0" maxOccurs="1" form="unqualified"
>>>>> name="HouseNumber" type="s:string" />
>>>>>          <s:element minOccurs="0" maxOccurs="1" form="unqualified"
>>>>> name="City" type="s:string" />
>>>>>          <s:element minOccurs="1" maxOccurs="1" form="unqualified"
>>>>> name="ZipCode" type="s:int" />
>>>>>          <s:element minOccurs="1" maxOccurs="1" form="unqualified"
>>>>> name="AreaCode" type="s:short" />
>>>>>          <s:element minOccurs="1" maxOccurs="1" form="unqualified"
>>>>> name="PhoneNumber" type="s:int" />
>>>>>          <s:element minOccurs="1" maxOccurs="1" form="unqualified"
>>>>> name="AreaCode2" type="s:short" />
>>>>>          <s:element minOccurs="1" maxOccurs="1" form="unqualified"
>>>>> name="PhoneNumber2" type="s:int" />
>>>>>          <s:element minOccurs="1" maxOccurs="1" form="unqualified"
>>>>> name="InspectorNumber" type="s:short" />
>>>>>          <s:element minOccurs="1" maxOccurs="1" form="unqualified"
>>>>> name="SuperInspectorNumber" type="s:short" />
>>>>>          <s:element minOccurs="1" maxOccurs="1" form="unqualified"
>>>>> name="StaffNumber" type="s:short" />
>>>>>          <s:element minOccurs="1" maxOccurs="1" form="unqualified"
>>>>> name="AgenceNumber" type="s:int" />
>>>>>          <s:element minOccurs="0" maxOccurs="1" form="unqualified"
>>>>> name="StaffName" type="s:string" />
>>>>>          <s:element minOccurs="0" maxOccurs="1" form="unqualified"
>>>>> name="EmployeeNumber" type="s:string" />
>>>>>          <s:element minOccurs="0" maxOccurs="1" form="unqualified"
>>>>> name="ProductionConfirmCode" type="s:string" />
>>>>>          <s:element minOccurs="1" maxOccurs="1" form="unqualified"
>>>>> name="AddProductionLifePolicy" type="s:short" />
>>>>>          <s:element minOccurs="1" maxOccurs="1" form="unqualified"
>>>>> name="AddProductionHealthPolicy" type="s:short" />
>>>>>          <s:element minOccurs="0" maxOccurs="1" form="unqualified"
>>>>> name="AddLoginEmployee1" type="s:string" />
>>>>>          <s:element minOccurs="0" maxOccurs="1" form="unqualified"
>>>>> name="AddLoginEmployee2" type="s:string" />
>>>>>          <s:element minOccurs="0" maxOccurs="1" form="unqualified"
>>>>> name="Result" type="s1:AgentWSResponseResult" />
>>>>>        </s:sequence>
>>>>>      </s:complexType>
>>>>>      <s:complexType name="AgentWSResponseResult">
>>>>>        <s:sequence>
>>>>>          <s:element minOccurs="1" maxOccurs="1" form="unqualified"
>>>>> name="Code" type="s:int" />
>>>>>          <s:element minOccurs="0" maxOccurs="1" form="unqualified"
>>>>> name="Description" type="s:string" />
>>>>>        </s:sequence>
>>>>>      </s:complexType>
>>>>>    </s:schema>
>>>>>  </wsdl:types>
>>>>>  <wsdl:message name="GetAgentDetailsSoapIn">
>>>>>    <wsdl:part name="parameters" element="tns:GetAgentDetails" />
>>>>>  </wsdl:message>
>>>>>  <wsdl:message name="GetAgentDetailsSoapOut">
>>>>>    <wsdl:part name="parameters" element="tns:GetAgentDetailsResponse"
>>>>> />
>>>>>  </wsdl:message>
>>>>>
>>>>>
>>>>> we have attempted using axis2 with jibx, however the problems is in the
>>>>> top
>>>>> level elements GetAgentDetails and GetAgentDetailsResponse. glue did
>>>>> not
>>>>> generate these on their sub elements, (we would like to use same sub
>>>>> elements if possible) i'm guessing it created these elements on the
>>>>> fly.
>>>>>
>>>>> is CXF capable of doing this?
>>>>> --
>>>>> View this message in context:
>>>>> http://www.nabble.com/cxf%27s-dynamic-proxies---tp21400946p21400946.html
>>>>> Sent from the cxf-user mailing list archive at Nabble.com.
>>>>>
>>>>>
>>>>
>>>>
>>>
>>> --
>>> View this message in context:
>>> http://www.nabble.com/cxf%27s-dynamic-proxies---tp21400946p21402626.html
>>> Sent from the cxf-user mailing list archive at Nabble.com.
>>>
>>>
>>
>>
>
> --
> View this message in context: 
> http://www.nabble.com/cxf%27s-dynamic-proxies---tp21400946p21403216.html
> Sent from the cxf-user mailing list archive at Nabble.com.
>
>

Reply via email to