webService+flex


以下はwebServices+Flexプロジェクトの主なコードです!
添付ファイル内容:webservice簡易プロジェクト、flexプロジェクト、webservice+Flexプロジェクト説明ドキュメント(.DOC)、flex webservice経典例(翻訳)TXTドキュメント
2つのプロジェクトファイルを使うと18 MB以上になるかもしれないので、webサービスのJARパッケージを削除しました!今は5 MB余りしかありません
添付ファイルの中には完全なwebService、flexプロジェクトがあります!この項目についての説明もあります(wordドキュメント)
私はこれらのものをプラスしたいと思って、あなたはJAVA(J 2 EE)を学んだことがある限りwebServiceを学んだことがないのはすべて理解することができます!でもまだ少しFLEXのベースが必要!FLEXができなければ私のもう一つのBLOGを見ることができます:《myEclipse+Flex》
Flexプロジェクト(test)
プライマリコード
Webservices.mxmlコードは次のとおりです.
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
	<mx:WebService id="ws" wsdl="http://localhost:8080/webService/services/CompanyService?wsdl" useProxy="false" showBusyCursor="true">
		<mx:operation name="putCompany" result="Alert.show('  !    ','   ',3)" fault="Alert.show('    ','  ',3)">
			
		</mx:operation>
	<mx:operation name="getCompanyCEO" result="showInfo(event)" fault="Alert.show('  ','tile',2)">
			
		</mx:operation>	
	</mx:WebService>
	<mx:XML>
		
	</mx:XML>
	<mx:Script>
		<![CDATA[
			import mx.rpc.events.ResultEvent;
			import mx.controls.Alert;
			private var com:String ;
			private var cio:String ;
			
			public function addCompany():void {
				com = company.text ;
				cio = ceo.text ;
				ws.putCompany(com,cio);
			}
			
			public function seeCeo():void {
				var str:String;
				str = company.text;
				ws.getCompanyCEO(str);
			}
			
			public function showInfo(event:ResultEvent):void {
				var str:String;
				str = event.result.toString();
				
				Alert.show(str,"  ",2);
			}
		]]>
	</mx:Script>
	
	<mx:Panel title="DataGrid Control Example" height="100%" width="100%" 
        paddingTop="10" paddingLeft="10" paddingRight="10">
		<mx:Label x="10" y="10" text="  " height="39" width="55" fontSize="21" fontWeight="bold"/>
		<mx:TextInput x="61" y="10" height="31" id="company" fontSize="20"/>
		<mx:Label x="10" y="66" text="  " width="55" height="49" fontSize="21" fontWeight="bold"/>
		<mx:TextInput x="61" y="75" height="31" id="ceo" fontSize="20"/>
		<mx:Button label="  " height="37" fontSize="17" id="add" click="addCompany();"/>
		<mx:Button  label="  (       )" height="29" fontSize="17" id="see" click="seeCeo();"/>
		
	</mx:Panel>
</mx:Application>

 
 
WebServiceプロジェクト(WebService)
プライマリコード
Web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4" 
	xmlns="http://java.sun.com/xml/ns/j2ee" 
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
	xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 
	http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
  
  <servlet>
    <servlet-name>XFireServlet</servlet-name>
    <servlet-class>
        org.codehaus.xfire.transport.http.XFireConfigurableServlet
    </servlet-class>
  </servlet>

  <servlet-mapping>
    <servlet-name>XFireServlet</servlet-name>
    <url-pattern>/servlet/XFireServlet/*</url-pattern>
  </servlet-mapping>

  <servlet-mapping>
    <servlet-name>XFireServlet</servlet-name>
    <url-pattern>/services/*</url-pattern>
  </servlet-mapping>
  
  
</web-app>




CompanyServiceImplコード(java)
package entity;

import java.util.HashMap;

public class CompanyServiceImpl{
	HashMap<String,String> m=new HashMap<String,String>();
	public void into(){
		m.put("    ", "   ");
		m.put("  ", "zwh");
	}
	public String getCompanyCEO(String company) {
		into();
		return m.get(company);
	}
	public void putCompany(String company,String CEO){
		m.put(company, CEO);
	}

}
 
 
 
Services.xml
詳細パス:webServices/src/META-INF/xfire/services.xml
注意:META-INFは自分がSRCの下に建てたフォルダで、WebRootの中のMETA-INFではありません
<beans xmlns="http://xfire.codehaus.org/config/1.0">
  <service>
    <name>CompanyService</name>
    <namespace>http://xfire.codehaus.org/CompanyService</namespace>
    <serviceClass>entity.CompanyServiceImpl</serviceClass>
    <!--  
    <serviceClass>entity.CompanyService</serviceClass>
    <implementationClass>entity.CompanyServiceImpl</implementationClass>
    -->
  </service>
</beans>

 
http://localhost:8080/webService/services/CompanyService?wsdl
  <?xml version="1.0" encoding="UTF-8" ?> 
- <wsdl:definitions targetNamespace="http://xfire.codehaus.org/CompanyService" xmlns:soapenc12="http://www.w3.org/2003/05/soap-encoding" xmlns:tns="http://xfire.codehaus.org/CompanyService" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap11="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soapenc11="http://schemas.xmlsoap.org/soap/encoding/" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
- <wsdl:types>
- <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://xfire.codehaus.org/CompanyService">
- <xsd:element name="getCompany">
  <xsd:complexType /> 
  </xsd:element>
- <xsd:element name="getCompanyResponse">
- <xsd:complexType>
- <xsd:sequence>
  <xsd:element maxOccurs="1" minOccurs="1" name="out" nillable="true" type="xsd:string" /> 
  </xsd:sequence>
  </xsd:complexType>
  </xsd:element>
  </xsd:schema>
  </wsdl:types>
- <wsdl:message name="getCompanyRequest">
  <wsdl:part name="parameters" element="tns:getCompany" /> 
  </wsdl:message>
+ <wsdl:message name="getCompanyResponse">
  <wsdl:part name="parameters" element="tns:getCompanyResponse" /> 
  </wsdl:message>
- <wsdl:portType name="CompanyServicePortType">
- <wsdl:operation name="getCompany">
  <wsdl:input name="getCompanyRequest" message="tns:getCompanyRequest" /> 
  <wsdl:output name="getCompanyResponse" message="tns:getCompanyResponse" /> 
  </wsdl:operation>
  </wsdl:portType>
- <wsdl:binding name="CompanyServiceHttpBinding" type="tns:CompanyServicePortType">
  <wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" /> 
- <wsdl:operation name="getCompany">
  <wsdlsoap:operation soapAction="" /> 
- <wsdl:input name="getCompanyRequest">
  <wsdlsoap:body use="literal" /> 
  </wsdl:input>
- <wsdl:output name="getCompanyResponse">
  <wsdlsoap:body use="literal" /> 
  </wsdl:output>
  </wsdl:operation>
  </wsdl:binding>
- <wsdl:service name="CompanyService">
- <wsdl:port name="CompanyServiceHttpPort" binding="tns:CompanyServiceHttpBinding">
  <wsdlsoap:address location="http://localhost:8080/webService/services/CompanyService" /> 
  </wsdl:port>
  </wsdl:service>
  </wsdl:definitions>