Hi Johannes,

I'm not as expert as many on this list, but I thought I'd take a stab
at answering some of your questions anyways.

Looking through your SAS.wsdl, I was curious why you did a
<wsdl:import> of the WSRF/WSN wsdls. At least when I created my
(much simpler) WS-Resource I did not have to do that.

Another point: I noticed that you've split your schema definition for
the same namespace into two parts as follows:


<xsd:schema elementFormDefault="qualified"
           targetNamespace="http://www.opengis.net/sas/1.0.0";>
           <xsd:include schemaLocation="OGC-SAS-1_0_0-sasAll.xsd"/>
<xsd:include schemaLocation="OGC-SAS-1_0_0-sasCapabilities.xsd"/>
           <xsd:include schemaLocation="OGC-SAS-1_0_0-sasCommon.xsd"/>
<xsd:include schemaLocation="OGC-SAS-1_0_0-sasDescribeSensor.xsd"/> <xsd:include schemaLocation="OGC-SAS-1_0_0-sasMessageSchema.xsd"/>
       </xsd:schema>


       <xsd:schema elementFormDefault="qualified"
           targetNamespace="http://www.opengis.net/sas/1.0.0";>

           <xsd:element name="SasResourceProperties">
               <xsd:complexType>
                   <xsd:sequence>
<xsd:element ref="wsrf-rp:QueryExpressionDialect" minOccurs="0"
                           maxOccurs="unbounded"/>
                       <xsd:element ref="wsn-b:FixedTopicSet"/>
                       <xsd:element ref="wsn-t:TopicSet" minOccurs="0"/>
<xsd:element ref="wsn-t:TopicExpression" minOccurs="0" maxOccurs="unbounded"/> <xsd:element ref="wsn-t:TopicExpressionDialect" minOccurs="0"
                           maxOccurs="unbounded"/>
                       <xsd:element ref="muws1:ResourceId"/>
<xsd:element ref="muws1:ManageabilityCapability" minOccurs="0"
                           maxOccurs="unbounded"/>
                       <!-- ??? -->
<xsd:element ref="muws2:Caption" minOccurs="0" maxOccurs="unbounded"/>
                       <!-- ??? -->
<xsd:element ref="muws2:Description" minOccurs="0" maxOccurs="unbounded"/>
                       <!-- ??? -->
                       <xsd:element ref="muws2:Version" minOccurs="0"/>
                       <!-- ??? -->
                       <xsd:element ref="muws2:OperationalStatus"/>
                       <!-- ??? -->
                   </xsd:sequence>
               </xsd:complexType>
           </xsd:element>

           <xsd:complexType name="ServiceExceptionType">
               <xsd:complexContent>
                   <xsd:extension base="wsrf-bf:BaseFaultType">
                       <xsd:choice>
                           <xsd:element ref="ows:ExceptionReport"/>
                           <xsd:element ref="ows:Exception"/>
                       </xsd:choice>
                   </xsd:extension>
               </xsd:complexContent>
           </xsd:complexType>

<xsd:element name="ServiceException" type="sas:ServiceExceptionType"/>

       </xsd:schema>

I am not sure how a parser will interpret this, but my understanding
was that each <xsd:schema></xsd:schema> pair is separate
from the other. Was there a reason you did not include the imports and
message definitions in one <xsd:schema> pair? Also, I assume that
all the imported documents are defined in the
http://www.opengis.net/sas/1.0.0 namespace or have no namespace?

C:\muse-test\wsdl&gt;wsdl2java.bat -j2ee mini
-wsdl SASallinone.wsdl -output test -verbose
WARNING: [ID = 'NoWSRPSchema'] No WS-RP schema found

I'm not quite sure, but this may be because you don't have
ResourceMetadataDescriptor document attached to your SAS portType as
well as a reference to wsrf-rp:ResourceProperties reference. Perhaps
someone can correct me on this?

(MyCapability2) package net.opengis.www.sas._1.0.0; import org.apache.muse.core.AbstractCapability; import org.w3c.dom.Element; public class MyCapability extends AbstractCapability implements IMyCapability { public Element getCapabilities() throws Exception { //TODO implement getCapabilities throw new RuntimeException("Unimplemented Method: getCapabilities"); } public Element describeSensor(Element SensorID) throws Exception { //TODO implement describeSensor throw new RuntimeException("Unimplemented Method: describeSensor"); } }
I cannot see the element definition for sas:GetCapabilities in either
of the WSDLs... What does it look like?

There are several questions that I have
   * concerning the generated sources:
         o The getCapabilities method (in MyCapability2) should expect
           some XML input - do you have any idea why the generated
           method only has a return parameter? Is that due to the fact
           that I used doc/literal?
No - I don't think it's because it's doc/lit. All my WSDLs use doc/lit
and they have input parameters for the methods. I am curious if the
element definition is being found properly.<br>

o The describeSensor method (in MyCapability2) looks ok - if
           the SensorID Element is actually the complete DescribeSensor
           request XML document which would be send by a client in the
           SOAP body. Looking at the registerPublisher method, it seems
           like wsdl2java removes the top-level XML fragment from the
           request (in this case the RegisterPublisher XML element) and
           lists all elements contained in that element instead (even
           converting them if they are of simple type).

What does the sas:DescribeSensor element look like? Is SensorID a
complex type? (Note that you can write your own Java classes to
represent this type and define a custom serializer in muse.xml to
convert to/from the xml wire format; this would allow you to use a Java
type as a method parameter)

o Neither of the capability classes extends AbstractWsResourceCapability - is 
that due to the fact that I did not extend the resource type with my own 
elements (i.e., it just lists elements from WSN, WSRF and MUWS)?
The capabilities look fine. I've not seen any generated capability
extend AbstractWsResourceCapability...

o The registerPublisher method (in MyCapability1) takes the
           elements contained in a usual RegisterPublisher request,
           i.e. as they are listed in the schema from OASIS, as
           parameters. As I said earlier I would like to make use of
           the extension mechanism for that operation. Do I therefore
           have to modify the schema before generating source code or
           is there some way to retrieve the pure request body via muse?
Were you planning on extending it using the <xsd:extension>system?

* in general:
         o According to the SubscriptionManager.wsdl that is contained
           in the generated folders (WebContent/WEB-INF/classes/wsdl)
           there will be one subscription manager that will be
           referenced in all Subscribe request responses. So will each
           subscription reference the same manager?

Could you clarify this point? My understanding is that when
subscribing, you set the producer EPR to the EPR of the resource that
you're subscribing to. That said, all subscribe operations are handled
by the same subscription manager under Muse's hood. Any renew, destroy
request etc. will contain a subscription reference that (using
reference parameters) will identify the exact subscription you want to
perform these operations on...

I hope this helps a bit at least.

Cheers,
Allen


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to