Yep looks like I goofed an import which threw me for an introductory to java
loop (imported soap node/nodelists instead of dom).  I have my imports
squared away and was able to treat it as Node and was able to get access to
what I needed.  I have it unmarshalling to its respective code generated
class and all is well.

Thanks for the help guys!
Jeff

On Wed, Oct 13, 2010 at 6:27 PM, Benson Margulies <[email protected]>wrote:

> That's just an org.w3c.dom.Element.
>
> On Wed, Oct 13, 2010 at 5:33 PM, Jeffrey Rodgers <[email protected]>
> wrote:
> > Right, that gives me a:
> > "com.sun.org.apache.xerces.internal.dom.ElementNSImpl" class
> >
> > Which eclipse lists as a forbidden reference. I can lift the restriction
> and
> > toy with that I suppose.  I definitely expected something similar to what
> > you described, but that threw me for a loop.  There are some hits on
> Google
> > to at least further investigate.
> >
> > Jeffrey
> >
> > On Wed, Oct 13, 2010 at 5:07 PM, Daniel Kulp <[email protected]> wrote:
> >
> >>
> >> My suggestion is to do a System.out.pritnln(_any.getClass().getName())
> >> to see what the real class is for the object and then go from there.
>  It's
> >> likely one of:
> >>
> >> some subclass of org.w3c.dom.Element
> >> or
> >> JAXBElement  (grab the object/value out of it)
> >> or
> >> SubjectsDS
> >>
> >>
> >> Dan
> >>
> >>
> >>
> >> On Wednesday 13 October 2010 4:28:03 pm Jeffrey Rodgers wrote:
> >> > I have one @XmlSeeAlso in the SrvSoap SEI, the block as follows:
> >> >
> >> > @WebService(targetNamespace = "http://foo/moo/";, name = "SrvSoap")
> >> > @XmlSeeAlso({ObjectFactory.class})
> >> > public interface SrvSoap {
> >> >     @WebResult(name = "GetLatestSubjectsDSResult", targetNamespace = "
> >> > http://foo/moo/";)
> >> >     @RequestWrapper(localName = "GetLatestSubjectsDS", targetNamespace
> =
> >> "
> >> > http://foo/moo/";, className = "com.srv.GetLatestSubjectsDS")
> >> >     @WebMethod(operationName = "GetLatestSubjectsDS", action = "
> >> > http://foo/moo/GetLatestSubjectsDS";)
> >> >     @ResponseWrapper(localName = "GetLatestSubjectsDSResponse",
> >> > targetNamespace = "http://foo/moo/";, className =
> >> > "com.srv.GetLatestSubjectsDSResponse")
> >> >     public
> com.srv.GetLatestSubjectsDSResponse.GetLatestSubjectsDSResult
> >> > getLatestSubjectsDS(
> >> >         @WebParam(name = "numSubjects", targetNamespace =
> >> > "http://foo/moo/";) int numSubjects,
> >> >         @WebParam(name = "lastId", targetNamespace = "http://foo/moo/
> ")
> >> >         int lastId
> >> >     );
> >> >
> >> > The JAXB unmarshaller was the first place I went to earlier, but since
> >> _any
> >> > is an Object and doesn't want to accept an obvious cast from me, I
> have
> >> not
> >> > been able to properly pass it to unmarshall method (maybe I am missing
> >> > something very obvious with accessing the innards of that any
> property).
> >> >
> >> > Thanks,
> >> > Jeff
> >> >
> >> > On Wed, Oct 13, 2010 at 4:08 PM, Daniel Kulp <[email protected]>
> wrote:
> >> > > If CXF generated the code for that schema, there should also be an
> >> > > @XmlSeeAlso
> >> > > annotation on the SEI that points to the OjbectFactory for that
> schema.
> >> > > That SHOULD make it more or less just work.   Can you check to see
> if
> >> the
> >> > > XmlSeeAlso is there?
> >> > >
> >> > > If it IS a DOM, you can always do something along the lines of:
> >> > >
> >> > >
> >> > >
> >>
> JAXBContext.newContext(SubjectsDS.class).createUnmarshaller().unmarshall(
> >> > > dom, SubjectsDS.class);
> >> > >
> >> > >
> >> > >
> >> > > Dan
> >> > >
> >> > > On Wednesday 13 October 2010 4:02:56 pm Jeffrey Rodgers wrote:
> >> > > > Benson,
> >> > > >
> >> > > > Thanks for the help and back/forth-
> >> > > >
> >> > > > I'm pretty sure CXF does know the schema though, no?  Part of the
> >> WSDL
> >> > >
> >> > > has
> >> > >
> >> > > > a schema import for that particular s:any namespace in the form
> of:
> >> > > >       <s:import namespace="http://tempuri.org/SubjectsDS.xsd"/>
> >> > > >       <s:import schemaLocation="
> >> > > >
> >> > > > http://localhost:9999/Srv.asmx?schema=SubjectsDS"; namespace="
> >> > > > http://tempuri.org/SubjectsDS.xsd"/>
> >> > > >
> >> > > > The schema for that particular object is gigantic, since the
> owners
> >> of
> >> > >
> >> > > that
> >> > >
> >> > > > web service decided to put everything into a single table back on
> the
> >> > > > DS. It's essentially dozens of ints, strings, a couple timestamps,
> >> and
> >> > > > some binary data.  CXF's wsdl2java code generation did in fact
> >> > > > generate a
> >> > >
> >> > > fully
> >> > >
> >> > > > featured SubjectsDS to at least contain the schema (equally
> bloated
> >> but
> >> > >
> >> > > it
> >> > >
> >> > > > is what it is) too.
> >> > > >
> >> > > > I guess at the most basic level, what's the preferred way to
> actually
> >> > > > access the XML inside that any?  I can likely make the translation
> >> and
> >> > > > mapping myself, but I can't seem to bust into that abstract
> object.
> >> > > >
> >> > > > Jeff
> >> > > >
> >> > > > On Wed, Oct 13, 2010 at 3:52 PM, Benson Margulies
> >> > >
> >> > > <[email protected]>wrote:
> >> > > > > The 'any' means that Microsoft knows the structure of this data
> but
> >> > > > > isn't telling us. Since it isn't telling us, we can't do
> anything
> >> > > > > about it. You could ask them what's up with the 'any':-)
> >> > > > >
> >> > > > > If you could come up with your own XML schema for what shows up
> in
> >> > > > > there, I could offer some suggestions for how to use it.
> >> > > > >
> >> > > > > On Wed, Oct 13, 2010 at 3:50 PM, Jeffrey Rodgers
> >> > > > > <[email protected]>
> >> > > > >
> >> > > > > wrote:
> >> > > > > > Benson,
> >> > > > > >
> >> > > > > > Yes, that was my suspicion - the xs:any is in fact part of the
> >> > > > > > WSDL.
> >> > >
> >> > >  I
> >> > >
> >> > > > > > can't seem to crack the nut on how to use that any property or
> >> the
> >> > > > > > getAny accessor to unmarshall back to the generated java
> >> equivalent
> >> > >
> >> > > of
> >> > >
> >> > > > > > my .NET
> >> > > > >
> >> > > > > DS
> >> > > > >
> >> > > > > > (essentially a couple pages of public properties in
> >> > > > > > SubjectsDS.java)
> >> > > > > >
> >> > > > > > The WSDL for that particular section:
> >> > > > > >      <s:element name="GetLatestSubjectsDSResponse">
> >> > > > > >
> >> > > > > >        <s:complexType>
> >> > > > > >
> >> > > > > >          <s:sequence>
> >> > > > > >
> >> > > > > >            <s:element minOccurs="0" maxOccurs="1"
> >> > > > > >
> >> > > > > > name="GetLatestSubjectsDSResult">
> >> > > > > >
> >> > > > > >              <s:complexType>
> >> > > > > >
> >> > > > > >                <s:sequence>
> >> > > > > >
> >> > > > > >                  <s:any
> >> > > > > >                  namespace="http://tempuri.org/SubjectsDS.xsd
> >> > >
> >> > > "/>
> >> > >
> >> > > > > >                </s:sequence>
> >> > > > > >
> >> > > > > >              </s:complexType>
> >> > > > > >
> >> > > > > >            </s:element>
> >> > > > > >
> >> > > > > >          </s:sequence>
> >> > > > > >
> >> > > > > >        </s:complexType>
> >> > > > > >
> >> > > > > >      </s:element>
> >> > > > > >
> >> > > > > > Thanks,
> >> > > > > > Jeffrey
> >> > > > > >
> >> > > > > > On Wed, Oct 13, 2010 at 3:41 PM, Benson Margulies
> >> > > > > > <[email protected]
> >> > > > > >
> >> > > > > >wrote:
> >> > > > > >> Jefferson,
> >> > > > > >>
> >> > > > > >> It sounds as if the XML Schema in the WSDL uses an xs:any
> >> > > > > >> particle, and that .NET has magic ways of turning this into a
> >> DS.
> >> > > > > >>
> >> > > > > >> All CXF can do with an 'any', by default, is give you the XML
> >> DOM
> >> > >
> >> > > for
> >> > >
> >> > > > > >> whatever arrives.
> >> > > > > >>
> >> > > > > >> In the data bindings, you can add custom handling, or you can
> >> work
> >> > > > > >> with the DOM object.
> >> > > > > >>
> >> > > > > >> Please have a look at the schema and see if I'm right about
> the
> >> > >
> >> > > 'any'.
> >> > >
> >> > > > > >> --benson
> >> > > > > >>
> >> > > > > >>
> >> > > > > >> On Wed, Oct 13, 2010 at 2:29 PM, Jeffrey Rodgers <
> >> > >
> >> > > [email protected]>
> >> > >
> >> > > > > >> wrote:
> >> > > > > >> > Hello,
> >> > > > > >> >
> >> > > > > >> > I've used the wsdl2java application to generate the
> following
> >> > > > > >> > classes
> >> > > > >
> >> > > > > for
> >> > > > >
> >> > > > > >> my
> >> > > > > >>
> >> > > > > >> > particular WSDL:
> >> > > > > >> >
> >> > > > > >> > GetLatestSubjectsDS.java
> >> > > > > >> > GetLatestSubjectsDSResponse.java
> >> > > > > >> > Init.java
> >> > > > > >> > InitResponse.java
> >> > > > > >> > ObjectFactory.java
> >> > > > > >> > package-info.java
> >> > > > > >> > SaveSubject.java
> >> > > > > >> > SaveSubjectResponse.java
> >> > > > > >> > SrvSoap.java
> >> > > > > >> > Srv.java
> >> > > > > >> > SrvSoap_SrvSoap_Client.java
> >> > > > > >> > SrvSoap_SrvSoap12_Client.java
> >> > > > > >> > SubjectsDS.java
> >> > > > > >> >
> >> > > > > >> > Which I then pulled into Eclipse for usage.  The most basic
> >> > > > > >> > basic web service calls are working as expected, but I am
> >> > > > > >> > having difficulties
> >> > > > >
> >> > > > > using
> >> > > > >
> >> > > > > >> > our GetLatestSubjects web service call which should a set
> of
> >> > > > >
> >> > > > > "Subjects"
> >> > > > >
> >> > > > > >> data
> >> > > > > >>
> >> > > > > >> > to the client, in which I would ideally unmarshalling into
> a
> >> > > > >
> >> > > > > SubjectsDS
> >> > > > >
> >> > > > > >> > object.  We treat this as a dataset in .NET but I
> understand
> >> > > > > >> > that
> >> > > > >
> >> > > > > won't
> >> > > > >
> >> > > > > >> be
> >> > > > > >>
> >> > > > > >> > happening here.  Within SubjectsDS is a multitude of
> >> properties
> >> > > > > >> > (more
> >> > > > > >>
> >> > > > > >> than a
> >> > > > > >>
> >> > > > > >> > dozen).
> >> > > > > >> >
> >> > > > > >> > As far as I can tell, the only accessors that I can play
> with
> >> in
> >> > >
> >> > > the
> >> > >
> >> > > > > >> > GetLatestSubjectsDSResponse is an "any" property which
> looks
> >> > > > > >> > like
> >> > >
> >> > > a
> >> > >
> >> > > > > >> > DOM-esque object in the debugger (as expected given the web
> >> > > > > >> > service's origin).  I'm unsure what to do with this from
> here,
> >> > > > > >> > but more
> >> > > > >
> >> > > > > importantly
> >> > > > >
> >> > > > > >> > may fear that I'm going about this in a wrong way given my
> >> > > > >
> >> > > > > inexperience
> >> > > > >
> >> > > > > >> with
> >> > > > > >>
> >> > > > > >> > CXF.
> >> > > > > >> >
> >> > > > > >> > Thanks in advance,
> >> > > > > >> > Jefferson
> >> > >
> >> > > --
> >> > > Daniel Kulp
> >> > > [email protected]
> >> > > http://dankulp.com/blog
> >>
> >> --
> >> Daniel Kulp
> >> [email protected]
> >> http://dankulp.com/blog
> >>
> >
>

Reply via email to