Stackdb
Stackdb is a stackable, multi-target and -level source debugger and memory forensics library.
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Public Member Functions | Static Protected Attributes
vmi1.SimpleAnalysisListener Class Reference
Inheritance diagram for vmi1.SimpleAnalysisListener:
vmi1.SimpleService

Public Member Functions

Map< String, MessageReceiver > getMessageReceiverClassMap ()
 
String getTargetNamespace ()
 
String getSchemaNamespace ()
 
String getSchemaNamespacePrefix ()
 
String getSchemaResourcePath ()
 
Map< String, QName > getStaticTypeMapping ()
 
Map< String, String > getMethodClassNameMapping ()
 
Map< String, QName > getDynamicTypeMapping ()
 
boolean isRootService ()
 
String getServiceName ()
 
String getServicePath ()
 
vmi1.AnalysisResultNotificationResponse analysisResultNotification (vmi1.AnalysisResultNotification analysisResultNotification)
 
vmi1.AnalysisEventNotificationResponse analysisEventNotification (vmi1.AnalysisEventNotification analysisEventNotification)
 

Static Protected Attributes

static final String tns
 
static final String sns
 
static final String snsPrefix = "vmi1"
 
static Map< String,
MessageReceiver > 
messageReceiverClassMap = null
 
static final String schemaResourcePath
 
static Map< String, QName > typeMapping = null
 
static Map< String, String > methodClassNameMapping = null
 
static Map< String, QName > dynamicTypeMapping = null
 

Detailed Description

Definition at line 28 of file SimpleAnalysisListener.java.

Member Function Documentation

vmi1.AnalysisEventNotificationResponse vmi1.SimpleAnalysisListener.analysisEventNotification ( vmi1.AnalysisEventNotification  analysisEventNotification)
inline

Definition at line 188 of file SimpleAnalysisListener.java.

vmi1.AnalysisResultNotificationResponse vmi1.SimpleAnalysisListener.analysisResultNotification ( vmi1.AnalysisResultNotification  analysisResultNotification)
inline

Definition at line 141 of file SimpleAnalysisListener.java.

Map<String,QName> vmi1.SimpleAnalysisListener.getDynamicTypeMapping ( )
inline

Basically, if your web service RPCs start with an uppercase letter, and you use Axis to generate your service skeleton, it will lowercase the letter – BUT it will generate a class representing that RPC SOAP message with the letter still uppercased! So, we have to map between these things.

We also have to map them to XML schema elements. This function does this!

So, return a HashMap of lowercase service method name to fully-qualified class name for the message that calls it. i.e.,

probeEventNotification -> new QName(getTargetNamespace(), "ProbeEventNotification")

etc.

(The dynamic type map is only consulted for methods right now; but we could extend it!)

Implements vmi1.SimpleService.

Definition at line 110 of file SimpleAnalysisListener.java.

Map<String,MessageReceiver> vmi1.SimpleAnalysisListener.getMessageReceiverClassMap ( )
inline

This tells the SimpleServiceServer which MessageReceiver this service requires. Then it can tell Axis.

Note, you must use special strings as the keys in the map. They come from org.apache.axis2.description.WSDL2Constants, and which one you use depends on whether your service operations do in/out messages, in-only, out-only, etc.

Probably just use WSDL2Constants.MEP_URI_IN_OUT because you'll probably have service operations that do both input/output.

Unfortunately, there doesn't seem to be any of this information inside the MessageReceiver object itself, or I would have just used that!

Implements vmi1.SimpleService.

Definition at line 44 of file SimpleAnalysisListener.java.

Map<String,String> vmi1.SimpleAnalysisListener.getMethodClassNameMapping ( )
inline

Basically, if your web service RPCs start with an uppercase letter, and you use Axis to generate your service skeleton, it will lowercase the letter – BUT it will generate a class representing that RPC SOAP message with the letter still uppercased! So, we have to map between these things.

So, return a HashMap of lowercase service method name to fully-qualified class name for the message that calls it. i.e.,

probeEventNotification -> vmi1.ProbeEventNotification

etc.

Implements vmi1.SimpleService.

Definition at line 96 of file SimpleAnalysisListener.java.

String vmi1.SimpleAnalysisListener.getSchemaNamespace ( )
inline

Return the schema namespace in your WSDL file. If you use JSR-181 web service annotations, make sure this is the same thing as in your annotation!

If this is not the same as getTargetNamespace(), everything will probably break. So don't do it!

Implements vmi1.SimpleService.

Definition at line 62 of file SimpleAnalysisListener.java.

String vmi1.SimpleAnalysisListener.getSchemaNamespacePrefix ( )
inline

Return the schema namespace prefix.

Implements vmi1.SimpleService.

Definition at line 67 of file SimpleAnalysisListener.java.

String vmi1.SimpleAnalysisListener.getSchemaResourcePath ( )
inline

Right now, this must be a relative JAR path to a WSDL file.

Implements vmi1.SimpleService.

Definition at line 72 of file SimpleAnalysisListener.java.

String vmi1.SimpleAnalysisListener.getServiceName ( )
inline

Return the service name. If you return null, we will just use the name of the class that implements this interface; this will probably fail. You must use a real service name that corresponds to a WSDL service location. This should be the last thing in the WSDL location path, too; i.e., the part after the final '/'.

Also, if you use JSR-181 web service annotations, make sure this is the same thing as in your annotation!

Implements vmi1.SimpleService.

Definition at line 131 of file SimpleAnalysisListener.java.

String vmi1.SimpleAnalysisListener.getServicePath ( )
inline

Definition at line 136 of file SimpleAnalysisListener.java.

Map<String,QName> vmi1.SimpleAnalysisListener.getStaticTypeMapping ( )
inline

Don't use this right now; just provide an empty HashMap.

Implements vmi1.SimpleService.

Definition at line 77 of file SimpleAnalysisListener.java.

String vmi1.SimpleAnalysisListener.getTargetNamespace ( )
inline

Return the target namespace. If you use JSR-181 web service annotations, make sure this is the same thing as in your annotation!

Implements vmi1.SimpleService.

Definition at line 57 of file SimpleAnalysisListener.java.

boolean vmi1.SimpleAnalysisListener.isRootService ( )
inline

Definition at line 126 of file SimpleAnalysisListener.java.

Field Documentation

Map<String,QName> vmi1.SimpleAnalysisListener.dynamicTypeMapping = null
staticprotected

Definition at line 41 of file SimpleAnalysisListener.java.

Map<String,MessageReceiver> vmi1.SimpleAnalysisListener.messageReceiverClassMap = null
staticprotected

Definition at line 36 of file SimpleAnalysisListener.java.

Map<String,String> vmi1.SimpleAnalysisListener.methodClassNameMapping = null
staticprotected

Definition at line 40 of file SimpleAnalysisListener.java.

final String vmi1.SimpleAnalysisListener.schemaResourcePath
staticprotected
Initial value:
=
"analysisListener.wsdl"

Definition at line 37 of file SimpleAnalysisListener.java.

final String vmi1.SimpleAnalysisListener.sns
staticprotected
Initial value:
=
"http://anathema.flux.utah.edu/schema/vmi/1"

Definition at line 33 of file SimpleAnalysisListener.java.

final String vmi1.SimpleAnalysisListener.snsPrefix = "vmi1"
staticprotected

Definition at line 35 of file SimpleAnalysisListener.java.

final String vmi1.SimpleAnalysisListener.tns
staticprotected
Initial value:
=
"http://anathema.flux.utah.edu/schema/vmi/1"

Definition at line 31 of file SimpleAnalysisListener.java.

Map<String,QName> vmi1.SimpleAnalysisListener.typeMapping = null
staticprotected

Definition at line 39 of file SimpleAnalysisListener.java.


The documentation for this class was generated from the following file: