Yea, but get GetAgentDetails is not refed, only the response is.

-----Original Message-----
From: Daniel Kulp [mailto:[email protected]] 
Sent: Thursday, January 15, 2009 11:19 PM
To: [email protected]
Cc: Benson Margulies; אלחנן מעיין
Subject: Re: cxf's dynamic proxies ?

On Tuesday 13 January 2009 8:00:55 am Benson Margulies wrote:
> 2) Something about your wsdl makes CXF/JAX-WS think that those extra 
> wrappers are appropriate. Sadly, I'm not an expert in this area. 
> Perhaps someone else can explain it. This has nothing to do with the 
> wire, only to do with the Java classes. So it should not effect 
> compatibility. There may be some WSDL tweak that would change this. 
> I'm copying Dan who often rescues me from this subject matter.

The issue is the response type:
      <s:element name="GetAgentDetailsResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" ref="s1:AgentWSResponse" />
          </s:sequence>
        </s:complexType>
      </s:element>

To unwrap, the element must NOT be a "ref".   If you change that to:
<s:element minOccurs="0" maxOccurs="1"
     type="s1:AgentWSResponse" name="AgentWSResponse"/>

it may unwrap it.

Dan



>
> On Tue, Jan 13, 2009 at 1:20 AM, <[email protected]> wrote:
> >  I'm assuming I wil; be able to actually use the jibx generated 
> > classes  and not use reflection am I correct?
> >
> >
> >
> > Also one thing that deeply concerns is the use of GetAgentDetalils, 
> > in glue, I didn't have to use that object, it simply generated the 
> > agentWSRequest and I sent that one, to the proxy, I believe this is 
> > called unwrapped mode. If i use this here, I would have to use 
> > another object,t and thus break backwords compatilbilty.
> >
> >
> >  ------------------------------
> >
> > *From:* Benson Margulies [mailto:[email protected]]
> > *Sent:* Monday, January 12, 2009 11:14 PM
> > *To:* אלחנן מעיין
> > *Subject:* Re: cxf's dynamic proxies ?
> >
> >
> >
> > Here's the client example I'm about to check in.
> >
> >
> > /**
> >  * Licensed to the Apache Software Foundation (ASF) under one
> >  * or more contributor license agreements. See the NOTICE file
> >  * distributed with this work for additional information
> >  * regarding copyright ownership. The ASF licenses this file
> >  * to you under the Apache License, Version 2.0 (the
> >  * "License"); you may not use this file except in compliance
> >  * with the License. You may obtain a copy of the License at
> >  *
> >  * http://www.apache.org/licenses/LICENSE-2.0
> >  *
> >  * Unless required by applicable law or agreed to in writing,
> >  * software distributed under the License is distributed on an
> >  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
> >  * KIND, either express or implied. See the License for the
> >  * specific language governing permissions and limitations
> >  * under the License.
> >  */
> >
> > package demo.hw.client;
> >
> > import java.beans.BeanDescriptor;
> > import java.beans.PropertyDescriptor; import java.io.File; import 
> > java.lang.reflect.Method; import java.net.URL; import 
> > java.util.List;
> >
> > import javax.xml.namespace.QName;
> >
> > import org.apache.cxf.endpoint.Client; import 
> > org.apache.cxf.endpoint.ClientImpl;
> > import org.apache.cxf.endpoint.Endpoint; import 
> > org.apache.cxf.jaxws.endpoint.dynamic.JaxWsDynamicClientFactory;
> > import org.apache.cxf.service.model.BindingInfo;
> > import org.apache.cxf.service.model.BindingMessageInfo;
> > import org.apache.cxf.service.model.BindingOperationInfo;
> > import org.apache.cxf.service.model.MessagePartInfo;
> > import org.apache.cxf.service.model.ServiceInfo;
> >
> > /**
> >  *
> >  */
> > public final class ComplexClient {
> >
> >     private static final QName SERVICE_NAME
> >         = new QName("http://complex.demo.cxf.apache.org/";,
> > "ComplexImplService");
> >
> >     private ComplexClient() {
> >     }
> >
> >     /**
> >      * @param args
> >      */
> >     public static void main(String[] args) throws Exception {
> >         if (args.length == 0) {
> >             System.out.println("please specify wsdl");
> >             System.exit(1);
> >         }
> >
> >         URL wsdlURL;
> >         File wsdlFile = new File(args[0]);
> >         if (wsdlFile.exists()) {
> >             wsdlURL = wsdlFile.toURL();
> >         } else {
> >             wsdlURL = new URL(args[0]);
> >         }
> >
> >         System.out.println(wsdlURL);
> >
> >         JaxWsDynamicClientFactory factory = 
> > JaxWsDynamicClientFactory.newInstance();
> >         Client client = 
> > factory.createClient(wsdlURL.toExternalForm(),
> > SERVICE_NAME);
> >         ClientImpl clientImpl = (ClientImpl) client;
> >         Endpoint endpoint = clientImpl.getEndpoint();
> >         ServiceInfo serviceInfo =
> > endpoint.getService().getServiceInfos().get(0);
> >         QName bindingName = new
> > QName("http://complex.demo.cxf.apache.org/";,
> > "ComplexImplServiceSoapBinding");
> >         BindingInfo binding = serviceInfo.getBinding(bindingName);
> >         //{
> >         QName opName = new QName("http://Company.com/Application";,
> > "GetAgentDetails");
> >         BindingOperationInfo boi = binding.getOperation(opName);
> >         BindingMessageInfo inputMessageInfo = boi.getInput();
> >         List<MessagePartInfo> parts = inputMessageInfo.getMessageParts();
> >         // only one part.
> >         MessagePartInfo partInfo = parts.get(0);
> >         Class<?> partClass = partInfo.getTypeClass();
> >         System.out.println(partClass.getCanonicalName()); // 
> > GetAgentDetails
> >         Object inputObject = partClass.newInstance();
> >         // Unfortunately, the slot inside of the part object is also 
> > called 'part'.
> >         // this is the descriptor for get/set part inside the 
> > GetAgentDetails class.
> >         PropertyDescriptor partPropertyDescriptor = new 
> > PropertyDescriptor("part", partClass);
> >         // This is the type of the class which really contains all 
> > the parameter information.
> >         Class<?> partPropType = 
> > partPropertyDescriptor.getPropertyType();
> > // AgentWSRequest
> >         System.out.println(partPropType.getCanonicalName());
> >         Object inputPartObject = partPropType.newInstance();
> >         partPropertyDescriptor.getWriteMethod().invoke(inputObject,
> > inputPartObject);
> >         PropertyDescriptor numberPropertyDescriptor = new 
> > PropertyDescriptor("agentNumber", partPropType);
> >         
> > numberPropertyDescriptor.getWriteMethod().invoke(inputPartObject,
> > new Integer(314159));
> >
> >         Object[] result = client.invoke(opName, inputObject);
> >         Class<?> resultClass = result[0].getClass();
> >         System.out.println(resultClass.getCanonicalName()); // 
> > GetAgentDetailsResponse
> >         PropertyDescriptor resultDescriptor = new 
> > PropertyDescriptor("agentWSResponse", resultClass);
> >         Object wsResponse =
> > resultDescriptor.getReadMethod().invoke(result[0]);
> >         Class<?> wsResponseClass = wsResponse.getClass();
> >         System.out.println(wsResponseClass.getCanonicalName());
> >         PropertyDescriptor agentNameDescriptor = new 
> > PropertyDescriptor("agentName", wsResponseClass);
> >         String agentName =
> > (String)agentNameDescriptor.getReadMethod().invoke(wsResponse);
> >         System.out.println("Agent name: " + agentName);
> >
> >     }
> >
> > }
> >
> >  On Mon, Jan 12, 2009 at 11:08 AM, <[email protected]> wrote:
> >
> > https://issues.apache.org/jira/secure/ManageAttachments.jspa?id=1241
> > 2202
> >
> >
> >
> > done
> >
> >
> >  ------------------------------
> >
> > *From:* Benson Margulies [mailto:[email protected]]
> > *Sent:* Monday, January 12, 2009 5:38 PM
> > *To:* אלחנן מעיין
> >
> >
> > *Subject**:* Re: cxf's dynamic proxies ?
> >
> >
> >
> > It gives Apache permission to include it in the project.
> >
> > 2009/1/12 <[email protected]>
> >
> > What does it mean?
> >
> >
> >  ------------------------------
> >
> > *From:* Benson Margulies [mailto:[email protected]]
> > *Sent:* Monday, January 12, 2009 5:24 PM
> > *To:* אלחנן מעיין
> >
> >
> > *Subject**:* Re: cxf's dynamic proxies ?
> >
> >
> >
> > When you attach a file to a JIRA, you either say 'yes we may 
> > incorporate it' or 'no'.
> >
> > 2009/1/12 <[email protected]>
> >
> > What is license to apache selection? ( I never opened a bug In jira 
> > before).
> >
> >
> >
> >
> >  ------------------------------
> >
> > *From:* Benson Margulies [mailto:[email protected]]
> > *Sent:* Monday, January 12, 2009 4:59 PM
> > *To:* אלחנן מעיין
> > *Subject:* Re: cxf's dynamic proxies ?
> >
> >
> >
> > Can you open a JIRA and attach it with the 'license to Apache' selection?
> > Then I could directly turn it into a sample ;-)
> >
> > On Mon, Jan 12, 2009 at 9:42 AM, <[email protected]> wrote:
> >
> > sure, i allready did that, but here it is again:
> >
> > <?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.AgentWSRes
> >pons e" 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.AgentWSRes
> >pons
> >e" />
> >      <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.AgentWSRes
> >pons
> >e ">
> >      <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>
> >
> >  <wsdl:portType
> > 
> >name="Phoenix_ESB_UnderWrite_Biztalk_AgentDetails_4405_AgentDetails_P
> >rtSo ap"> <wsdl:operation name="GetAgentDetails">
> >      <wsdl:input message="tns:GetAgentDetailsSoapIn" />
> >      <wsdl:output message="tns:GetAgentDetailsSoapOut" />
> >    </wsdl:operation>
> >  </wsdl:portType>
> >  <wsdl:binding
> > 
> >name="Phoenix_ESB_UnderWrite_Biztalk_AgentDetails_4405_AgentDetails_P
> >rtSo
> >ap"
> > 
> >type="tns:Phoenix_ESB_UnderWrite_Biztalk_AgentDetails_4405_AgentDetai
> >ls_P rtSoap"> <soap:binding 
> >transport="http://schemas.xmlsoap.org/soap/http"; />  <wsdl:operation 
> >name="GetAgentDetails">
> >      <soap:operation soapAction="
> > 
> >http://Phoenix.co.il/UnderWrite/Phoenix_ESB_UnderWrite_Biztalk_AgentD
> >etai ls_4405_AgentDetails_Prt/GetAgentDetails" style="document" />
> >      <wsdl:input>
> >        <soap:body use="literal" />
> >      </wsdl:input>
> >      <wsdl:output>
> >        <soap:body use="literal" />
> >      </wsdl:output>
> >    </wsdl:operation>
> >  </wsdl:binding>
> >  <wsdl:binding
> > 
> >name="Phoenix_ESB_UnderWrite_Biztalk_AgentDetails_4405_AgentDetails_P
> >rtSo
> >ap12"
> > 
> >type="tns:Phoenix_ESB_UnderWrite_Biztalk_AgentDetails_4405_AgentDetai
> >ls_P rtSoap"> <soap12:binding 
> >transport="http://schemas.xmlsoap.org/soap/http";
> > /> <wsdl:operation name="GetAgentDetails">
> >      <soap12:operation soapAction="
> > 
> >http://Phoenix.co.il/UnderWrite/Phoenix_ESB_UnderWrite_Biztalk_AgentD
> >etai ls_4405_AgentDetails_Prt/GetAgentDetails" style="document" />
> >      <wsdl:input>
> >        <soap12:body use="literal" />
> >      </wsdl:input>
> >      <wsdl:output>
> >        <soap12:body use="literal" />
> >      </wsdl:output>
> >    </wsdl:operation>
> >  </wsdl:binding>
> >  <wsdl:service
> > 
> >name="Phoenix_ESB_UnderWrite_Biztalk_AgentDetails_4405_AgentDetails_P
> >rt">
> >
> >    <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:port
> > 
> >name="Phoenix_ESB_UnderWrite_Biztalk_AgentDetails_4405_AgentDetails_P
> >rtSo
> >ap"
> > 
> >binding="tns:Phoenix_ESB_UnderWrite_Biztalk_AgentDetails_4405_AgentDe
> >tail
> >s_PrtSoap"> <soap:address location="
> > 
> >http://btst3/UnderWrite.Biztalk.Proxy/Phoenix_ESB_UnderWrite_Biztalk_
> >Agen tDetails_4405_AgentDetails_Prt.asmx" />
> >    </wsdl:port>
> >    <wsdl:port
> > 
> >name="Phoenix_ESB_UnderWrite_Biztalk_AgentDetails_4405_AgentDetails_P
> >rtSo
> >ap12"
> > 
> >binding="tns:Phoenix_ESB_UnderWrite_Biztalk_AgentDetails_4405_AgentDe
> >tail s_PrtSoap12"> <soap12:address location="
> > 
> >http://btst3/UnderWrite.Biztalk.Proxy/Phoenix_ESB_UnderWrite_Biztalk_
> >Agen tDetails_4405_AgentDetails_Prt.asmx" />
> >    </wsdl:port>
> >  </wsdl:service>
> > </wsdl:definitions>
> >
> > Benson Margulies-4 wrote:
> > > Hey, can you share your wsdl, or one of the same complexity?
> > >
> > > On Mon, Jan 12, 2009 at 9:03 AM, elhanan <[email protected]> wrote:
> > >> allready tried that, lookign for blogs articles, couldn't find much.
> > >>
> > >> just remember, i only have my own java beans with attributes 
> > >> alone (no getters and setters and are serliezble.
> > >> i only a wsdl and the operationname (in this case 
> > >> GetAgentDetails) i don't have namespace
> > >>
> > >> the client code i'm planing should have something like this:
> > >>
> > >> Client c= new Client(wsdl);
> > >> Object[] ret=c.invoke(opName,new Object[]{request});
> > >>
> > >> this is what what's happening to day from our client side using glue.
> > >>
> > >> you could at the same time add it to the documentation :)
> > >>
> > >> elhanan wrote:
> > >> > ok, here's the thing
> > >> >
> > >> > i tried wsdl2java, can't use that becouse it always requiries i 
> > >> > will
> > >>
> > >> have
> > >>
> > >> > a generated client classs
> > >> >
> > >> > tried dispatch method like so (with te wsdl i enclosed earlier):
> > >> >
> > >> >               String
> > >> > wsdl="
> >
> > 
> >http://btst3/UnderWrite.Biztalk.Proxy/Phoenix_ESB_UnderWrite_Biztalk_
> >Agen tDetails_4405_AgentDetails_Prt.asmx?WSDL
> >
> > >> ";
> > >>
> > >> >               GetAgentDetails parameters=new GetAgentDetails();
> > >> >               final AgentWSRequest agentWSRequest = new
> > >>
> > >> AgentWSRequest();
> > >>
> > >> >               agentWSRequest.setAgentNumber(8888);
> > >> >               parameters.setPart(agentWSRequest);
> > >> >
> > >> >               URL url =new
> > >> > URL("
> >
> > 
> >http://btst3/UnderWrite.Biztalk.Proxy/Phoenix_ESB_UnderWrite_Biztalk_
> >Agen tDetails_4405_AgentDetails_Prt.asmx?WSDL
> >
> > >> ");
> > >>
> > >> >               QName q=new
> > >> > QName("http://Phoenix.co.il/UnderWrite
> > >>
> > >> 
> > >>","Phoenix_ESB_UnderWrite_Biztalk_AgentDetails_4405_AgentDetails_P
> > >>rt")
> > >>;
> > >>
> > >> >               final Service service= Service.create(url, q);
> > >> >               QName port=new
> > >> > QName("http://Phoenix.co.il/UnderWrite
> > >>
> > >> 
> > >>","Phoenix_ESB_UnderWrite_Biztalk_AgentDetails_4405_AgentDetails_P
> > >>rt")
> > >>;
> > >>
> > >> >               
> > >> > service.addPort(port,"http://schemas.xmlsoap.org/soap/
> >
> > ",
> >
> > >> > "
> >
> > 
> >http://btst3/UnderWrite.Biztalk.Proxy/Phoenix_ESB_UnderWrite_Biztalk_
> >Agen
> >tDetails_4405_AgentDetails_Prt.asmx
> >
> > >> ");
> > >>
> > >> >               JAXBContext ctx =
> > >>
> > >> JAXBContext.newInstance(ObjectFactory.class);
> > >>
> > >> >               final Dispatch createDispatch =
> >
> > service.createDispatch(q,
> >
> > >> ctx,
> > >>
> > >> > Service.Mode.MESSAGE);
> > >> >
> > >> >               final Object invoke = 
> > >> > createDispatch.invoke(parameters); System.out.println(invoke);
> > >> >
> > >> > but i got: Error setting the source for SOAPPart: null
> > >> >
> > >> > i also tried using
> > >> >
> > >> >
> > >> >               DynamicClientFactory newInstance =
> > >>
> > >> DynamicClientFactory.newInstance();
> > >>
> > >> >               final ClassLoader contextClassLoader = 
> > >> > Thread.currentThread().getContextClassLoader();
> > >> >
> > >> >               final Client createClient = 
> > >> > newInstance.createClient(wsdl,contextClassLoader);
> > >> >               Object o =
> >
> > 
> >contextClassLoader.loadClass("il.co.phoenix.underwrite.AgentWSRequest
> >").n
> >ewInstance();
> >
> > >> >               createClient.invoke("GetAgentDetails",
> > >> > agentWSRequest);
> > >> >
> > >> > but aside form the fact that it doesn't find the classes, i 
> > >> > would like
> > >>
> > >> to
> > >>
> > >> > to actually generate the classes in desing time but use the 
> > >> > dynamic
> > >>
> > >> client
> > >>
> > >> > with them, but the package names are different.
> > >> >
> > >> > also i don't know how to use the JaxWsClientFactoryBean there 
> > >> > is no documentation on it.
> > >> >
> > >> > Benson Margulies-4 wrote:
> > >> >> 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.AgentWSRes
> >pons
> >e
> >
> > >> "
> > >>
> > >> >>>>>>> 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.AgentWSRes
> >pons
> >e
> >
> > >> "
> > >>
> > >> >>>>>>> />
> > >> >>>>>>>      <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.AgentWSRes
> >pons
> >e
> >
> > >> ">
> > >>
> > >> >>>>>>>      <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.
> > >>
> > >> --
> > >> View this message in context:
> >
> > http://www.nabble.com/cxf%27s-dynamic-proxies---tp21400946p21414996.
> > html
> >
> > >> Sent from the cxf-user mailing list archive at Nabble.com.
> >
> > Quoted from:
> > http://www.nabble.com/cxf%27s-dynamic-proxies---tp21400946p21415597.
> > html
> >
> >
> >
> >
> >
> >
> >
> >
> >
> > No virus found in this incoming message.
> > Checked by AVG.
> > Version: 7.5.552 / Virus Database: 270.10.6/1887 - Release Date:
> > 11/01/2009 17:57
> >
> > No virus found in this outgoing message.
> > Checked by AVG.
> > Version: 7.5.552 / Virus Database: 270.10.6/1887 - Release Date:
> > 11/01/2009 17:57



--
Daniel Kulp
[email protected]
http://dankulp.com/blog

No virus found in this incoming message.
Checked by AVG. 
Version: 7.5.552 / Virus Database: 270.10.8/1896 - Release Date: 15/01/2009 
19:10
 

No virus found in this outgoing message.
Checked by AVG. 
Version: 7.5.552 / Virus Database: 270.10.8/1896 - Release Date: 15/01/2009 
19:10
 

Reply via email to