Axis

「Axis」の編集履歴(バックアップ)一覧はこちら

Axis」(2007/05/01 (火) 03:07:16) の最新版変更点

追加された行は緑色になります。

削除された行は赤色になります。

* Apache AXIS ** JWS .java ファイルを拡張子を .jws として axis のディレクトリにコピーする だけで利用できる。パッケージは使えない。 ** 簡単な設定と実行 AdminClient を利用 C:\usr\local\axis-1_4 \samples\userguide\example3>java -cp %AXISCLASSPATH%;. org. apache.axis.client.AdminClient -lhttp://localhost:8181/axis/services/AdminServic e deploy.wsdd log4j:WARN No appenders could be found for logger (org.apache.axis.i18n.ProjectR esourceBundle). log4j:WARN Please initialize the log4j system properly. ファイルdeploy.wsddの処理中 / [en]-(Processing file deploy.wsdd) <Admin>処理を実行しました / [en]-(Done processing)</Admin> C:\usr\local\axis-1_4>java -cp %AXISCLASSPATH%;. samples.userguide.example3.Clie nt -lhttp://localhost:8181/axis/services/MyService "test me!" log4j:WARN No appenders could be found for logger (org.apache.axis.i18n.ProjectR esourceBundle). log4j:WARN Please initialize the log4j system properly. You typed : test me! *** deploy に使用した wsdd ファイル C:\usr\local\axis-1_4>type samples\userguide\example3\deploy.wsdd <deployment xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java"> <service name="MyService" provider="java:RPC"> <parameter name="className" value="samples.userguide.example3.MyService"/> <parameter name="allowedMethods" value="*"/> </service> </deployment> *** サービスの一覧 C:\usr\local\axis-1_4>java -cp %AXISCLASSPATH%;. org.apache.axis.client.AdminCli ent -lhttp://localhost:8181/axis/services/AdminService list log4j:WARN No appenders could be found for logger (org.apache.axis.i18n.ProjectR esourceBundle). log4j:WARN Please initialize the log4j system properly. <ns1:deployment xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java="http://xml. apache.org/axis/wsdd/providers/java" xmlns:ns1="http://xml.apache.org/axis/wsdd/ "> <ns1:globalConfiguration> <ns1:parameter name="sendMultiRefs" value="true"/> <ns1:parameter name="disablePrettyXML" value="true"/> <ns1:parameter name="adminPassword" value="admin"/> <ns1:parameter name="attachments.Directory" value="C:\Tomcat 5.5\webapps\axis\ WEB-INF\attachments"/> <ns1:parameter name="dotNetSoapEncFix" value="true"/> <ns1:parameter name="enableNamespacePrefixOptimization" value="false"/> <ns1:parameter name="sendXMLDeclaration" value="true"/> <ns1:parameter name="sendXsiTypes" value="true"/> <ns1:parameter name="attachments.implementation" value="org.apache.axis.attach ments.AttachmentsImpl"/> <ns1:requestFlow> <ns1:handler type="java:org.apache.axis.handlers.JWSHandler"> <ns1:parameter name="scope" value="session"/> </ns1:handler> <ns1:handler type="java:org.apache.axis.handlers.JWSHandler"> <ns1:parameter name="scope" value="request"/> <ns1:parameter name="extension" value=".jwr"/> </ns1:handler> </ns1:requestFlow> </ns1:globalConfiguration> <ns1:handler name="soapmonitor" type="java:org.apache.axis.handlers.SOAPMonitor Handler"> <ns1:parameter name="wsdlURL" value="/axis/SOAPMonitorService-impl.wsdl"/> <ns1:parameter name="serviceName" value="SOAPMonitorService"/> <ns1:parameter name="namespace" value="http://tempuri.org/wsdl/2001/12/SOAPMon itorService-impl.wsdl"/> <ns1:parameter name="portName" value="Demo"/> </ns1:handler> : *** サービスのスコープ サーブレット、JSP のように Request, Session, Application のレベルを 設定できる。 <service name="MyService"...> <parameter name="scope" value="value"/> ... </service> *** Handler <deployment xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java"> <!-- define the logging handler configuration --> <handler name="track" type="java:samples.userguide.example4.LogHandler"> <parameter name="filename" value="MyService.log"/> </handler> <!-- define the service, using the log handler we just defined --> <service name="LogTestService" provider="java:RPC"> <requestFlow> <handler type="track"/> </requestFlow> <parameter name="className" value="samples.userguide.example4.Service"/> <parameter name="allowedMethods" value="*"/> </service> </deployment> *** Enabling remote admin <service name="AdminService" provider="java:MSG"> <parameter name="className" value="org.apache.axis.util.Admin"/> <parameter name="allowedMethods" value="*"/> <parameter name="enableRemoteAdmin" value="true"/> </service> ** Services - RPC - Document - Wrapped - Message *** RPC <service ... provider="java:RPC"> or <service ... style="RPC"> *** Document <service ... style="document"> public void method(PurchaseOrder po) *** Wrapped <service ... style="wrapped"> public void purchaseOrder(String item, int quantity, String description) *** Message Java object への変換を行わない指定。リクエストで渡され XML をサービス で処理する。XML のデータ形式により以下のような受け方が出来る。 public Element [] method(Element [] bodies); public SOAPBodyElement [] method (SOAPBodyElement [] bodies); public Document method(Document body); public void method(SOAPEnvelope req, SOAPEnvelope resp); ** Data type mapping |xsd:base64Binary | byte[]| |xsd:boolean |boolean| |xsd:byte |byte| |xsd:dateTime |java.util.Calendar| |xsd:decimal |java.math.BigDecimal| |xsd:double |double| |xsd:float |float| |xsd:hexBinary |byte[]| |xsd:int |int| |xsd:integer |java.math.BigInteger| |xsd:long |long| |xsd:QName |javax.xml.namespace.QName| |xsd:short |short| |xsd:string |java.lang.String|
* Apache AXIS ** JWS .java ファイルを拡張子を .jws として axis のディレクトリにコピーする だけで利用できる。パッケージは使えない。 ** 簡単な設定と実行 AdminClient を利用 C:\usr\local\axis-1_4 \samples\userguide\example3>java -cp %AXISCLASSPATH%;. org. apache.axis.client.AdminClient -lhttp://localhost:8181/axis/services/AdminServic e deploy.wsdd log4j:WARN No appenders could be found for logger (org.apache.axis.i18n.ProjectR esourceBundle). log4j:WARN Please initialize the log4j system properly. ファイルdeploy.wsddの処理中 / [en]-(Processing file deploy.wsdd) <Admin>処理を実行しました / [en]-(Done processing)</Admin> C:\usr\local\axis-1_4>java -cp %AXISCLASSPATH%;. samples.userguide.example3.Clie nt -lhttp://localhost:8181/axis/services/MyService "test me!" log4j:WARN No appenders could be found for logger (org.apache.axis.i18n.ProjectR esourceBundle). log4j:WARN Please initialize the log4j system properly. You typed : test me! *** deploy に使用した wsdd ファイル C:\usr\local\axis-1_4>type samples\userguide\example3\deploy.wsdd <deployment xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java"> <service name="MyService" provider="java:RPC"> <parameter name="className" value="samples.userguide.example3.MyService"/> <parameter name="allowedMethods" value="*"/> </service> </deployment> *** サービスの一覧 C:\usr\local\axis-1_4>java -cp %AXISCLASSPATH%;. org.apache.axis.client.AdminCli ent -lhttp://localhost:8181/axis/services/AdminService list log4j:WARN No appenders could be found for logger (org.apache.axis.i18n.ProjectR esourceBundle). log4j:WARN Please initialize the log4j system properly. <ns1:deployment xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java="http://xml. apache.org/axis/wsdd/providers/java" xmlns:ns1="http://xml.apache.org/axis/wsdd/ "> <ns1:globalConfiguration> <ns1:parameter name="sendMultiRefs" value="true"/> <ns1:parameter name="disablePrettyXML" value="true"/> <ns1:parameter name="adminPassword" value="admin"/> <ns1:parameter name="attachments.Directory" value="C:\Tomcat 5.5\webapps\axis\ WEB-INF\attachments"/> <ns1:parameter name="dotNetSoapEncFix" value="true"/> <ns1:parameter name="enableNamespacePrefixOptimization" value="false"/> <ns1:parameter name="sendXMLDeclaration" value="true"/> <ns1:parameter name="sendXsiTypes" value="true"/> <ns1:parameter name="attachments.implementation" value="org.apache.axis.attach ments.AttachmentsImpl"/> <ns1:requestFlow> <ns1:handler type="java:org.apache.axis.handlers.JWSHandler"> <ns1:parameter name="scope" value="session"/> </ns1:handler> <ns1:handler type="java:org.apache.axis.handlers.JWSHandler"> <ns1:parameter name="scope" value="request"/> <ns1:parameter name="extension" value=".jwr"/> </ns1:handler> </ns1:requestFlow> </ns1:globalConfiguration> <ns1:handler name="soapmonitor" type="java:org.apache.axis.handlers.SOAPMonitor Handler"> <ns1:parameter name="wsdlURL" value="/axis/SOAPMonitorService-impl.wsdl"/> <ns1:parameter name="serviceName" value="SOAPMonitorService"/> <ns1:parameter name="namespace" value="http://tempuri.org/wsdl/2001/12/SOAPMon itorService-impl.wsdl"/> <ns1:parameter name="portName" value="Demo"/> </ns1:handler> : *** サービスのスコープ サーブレット、JSP のように Request, Session, Application のレベルを 設定できる。 <service name="MyService"...> <parameter name="scope" value="value"/> ... </service> *** Handler <deployment xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java"> <!-- define the logging handler configuration --> <handler name="track" type="java:samples.userguide.example4.LogHandler"> <parameter name="filename" value="MyService.log"/> </handler> <!-- define the service, using the log handler we just defined --> <service name="LogTestService" provider="java:RPC"> <requestFlow> <handler type="track"/> </requestFlow> <parameter name="className" value="samples.userguide.example4.Service"/> <parameter name="allowedMethods" value="*"/> </service> </deployment> *** Enabling remote admin <service name="AdminService" provider="java:MSG"> <parameter name="className" value="org.apache.axis.util.Admin"/> <parameter name="allowedMethods" value="*"/> <parameter name="enableRemoteAdmin" value="true"/> </service> ** Services - RPC - Document - Wrapped - Message *** RPC <service ... provider="java:RPC"> or <service ... style="RPC"> *** Document <service ... style="document"> public void method(PurchaseOrder po) *** Wrapped <service ... style="wrapped"> public void purchaseOrder(String item, int quantity, String description) *** Message Java object への変換を行わない指定。リクエストで渡され XML をサービス で処理する。XML のデータ形式により以下のような受け方が出来る。 public Element [] method(Element [] bodies); public SOAPBodyElement [] method (SOAPBodyElement [] bodies); public Document method(Document body); public void method(SOAPEnvelope req, SOAPEnvelope resp); ** Data type mapping |xsd:base64Binary | byte[]| |xsd:boolean |boolean| |xsd:byte |byte| |xsd:dateTime |java.util.Calendar| |xsd:decimal |java.math.BigDecimal| |xsd:double |double| |xsd:float |float| |xsd:hexBinary |byte[]| |xsd:int |int| |xsd:integer |java.math.BigInteger| |xsd:long |long| |xsd:QName |javax.xml.namespace.QName| |xsd:short |short| |xsd:string |java.lang.String| ** Exceptions *** RemoteException -> SOAP Fault RemoteException は SOAP Fault になる。 faultcode が例外クラス名となる。 *** Other -> wsdl:fault RemoteException またはそのサブクラス以外の例外は wsdl:fault 要素として 返される。 ** 送ることの出来るオブジェクトに関する制約 *** Java Collection classes Hashtable 等は serializable ではあるが、.NET 等が未対応なため配列で 返すのがもっとも安全。 *** Axis が送れない物 Axis が送れるのは Axis Serializer が定義されたクラスのオブジェクトのみ。 Serializable だから遅れるというわけではない。 Remote Reference がダメとあるが、これは java の参照のフィールドを 送信後リファレンスとして使えないということだろう。 *** BeanSerializer BeanSerializer で指示をするとユーザー定義のオブジェクトも送ることが 出来るようになる。これも、色々と制約があるだろう。 <beanMapping qname="ns:local" xmlns:ns="someNamespace" languageSpecificType="java:my.java.thingy"/>

表示オプション

横に並べて表示:
変化行の前後のみ表示:
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。