You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@axis.apache.org by Brian Freeman <br...@synergex.com> on 2004/07/28 05:17:24 UTC

Microsoft Reporting Services sessioning / SimpleSessionHandler

Hi all!

I'm new to Axis and have been working with getting a Microsoft Reporting Services client working. I've gotten through our NTML authentication issues with talking to Reporting Services and am stuck on getting the sessioning operational.

Several threads I've seen refer to using SimpleSessionHandler and I've added the following to client-config.wsdd


  <handler name="session" type="java:org.apache.axis.handlers.SimpleSessionHandler"/>
  <service name="ReportingServiceSoap" provider="java:RPC" style="rpc" use="encoded">
      <requestFlow>
        <handler type="session"/>
      </requestFlow>
      <responseFlow>
        <handler type="session"/>
      </responseFlow>
      <parameter name="wsdlTargetNamespace" value="http://schemas.microsoft.com/sqlserver/2003/12/reporting/reportingservices"/>
      <parameter name="wsdlServiceElement"  value="ReportingService"/>
      <parameter name="wsdlServicePort"     value="ReportingServiceSoap"/>
      <parameter name="className"           value="com.microsoft.schemas.sqlserver._2003._12.reporting.reportingservices.ReportingServiceSoap"/>
      <parameter name="wsdlPortType"        value="ReportingServiceSoap"/>
      <parameter name="allowedMethods"      value="*"/>
      <parameter name="scope"               value="Session"/>
  </service>

but I'm getting faults on code that was previously working and obviously don't have the above block correct. 

AxisFault faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException faultSubcode: faultString: org.xml.sax.SAXException: Deserializing parameter &apos;CatalogItems&apos;: could not find deserializer for type {http://schemas.microsoft.com/sqlserver/2003/12/reporting/reportingservices}ArrayOfCatalogItem faultActor: faultNode: faultDetail: {http://xml.apache.org/axis/}stackTrace: org.xml.sax.SAXException: Deserializing parameter 'CatalogItems': could not find deserializer for type {http://schemas.microsoft.com/sqlserver/2003/12/reporting/reportingservices}ArrayOfCatalogItem at org.apache.axis.message.RPCHandler.onStartChild(RPCHandler.java:302) at org.apache.axis.encoding.DeserializationContextImpl.startElement(DeserializationContextImpl.java:963) at org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.java:198) at org.apache.axis.message.MessageElement.publishToHandler(MessageElement.java:722) at org.apache.axis.message.RPCElement.deserialize(RPCElement.java:233) at org.apache.axis.message.RPCElement.getParams(RPCElement.java:347) at org.apache.axis.client.Call.invoke(Call.java:2272) at org.apache.axis.client.Call.invoke(Call.java:2171) at org.apache.axis.client.Call.invoke(Call.java:1691) at com.microsoft.schemas.sqlserver._2003._12.reporting.reportingservices.ReportingServiceSoapStub.listChildren(ReportingServiceSoapStub.java:1916) 
...

Has anyone already done this/any ideas where I can look for information about these wsdl* parameters and what I'm missing? 

The approach I'm on, is:
- add SimpleSessionHandler into client-config.wsdd
- add SimpleSessionHandler into my stub
- set _call.setClientHandlers() to the created SimpleSessionHandler in my client
and pray that it works ;)
Does that sound right?
Thanks,
Brian