Pavel Zelenka wrote: > > Potřeboval bych poradit s následující záležitostí. > > Mám aplikaci, do které se mimo jiné zadává DIČ zákazníka. Na stránkách > http://ec.europa.eu/taxation_customs/vies/vieshome.do je možné provést > kontrolu správnosti/existence onoho DIČ. Tato služba je poskytována i > jako SOAP service viz. > http://ec.europa.eu/taxation_customs/vies/faqvies.do#item16 Bohužel jsem > se SOAP neměl nic nikdy do činění, takže nevím jak začít. > Velice bych ocenil, kdybyste mi s tímto poradili. Díky.
Vyberte si nějaký udělátor pro konverzi popisu SOAP služby na java třídy, předhoďte mu URL s popisem služby, tj. http://ec.europa.eu/taxation_customs/vies/api/checkVatPort?wsdl a vygenerovanou třídu prostě zavolejte. Na výběr máte mnoho nástrojů, z open sourcových zkuste třeba http://xfire.codehaus.org/ http://ws.apache.org/axis2/ http://ws.apache.org/axis/ Cosi je i přímo v JDK 6, viz http://java.sun.com/developer/technicalArticles/J2SE/jax_ws_2/ ale když jsem to zkoušel použít jako klienta k existující službě, tak to moc nefungovalo. Abych byl konkrétní, tak pokud si vyberete Axis 1, tak nejdřív spustíte $ java org.apache.axis.wsdl.WSDL2Java -v --output . http://ec.europa.eu/taxation_customs/vies/api/checkVatPort?wsdl Parsing XML file: http://ec.europa.eu/taxation_customs/vies/api/checkVatPort?wsdl Generating ./checkVat/services/vies/taxud/eu/europa/ec/CheckVatService.java Generating ./checkVat/services/vies/taxud/eu/europa/ec/CheckVatServiceLocator.java Generating ./checkVat/services/vies/taxud/eu/europa/ec/CheckVatPortType.java Generating ./checkVat/services/vies/taxud/eu/europa/ec/CheckVatPortSoapBindingStub.java Pak vyrobíte klienta: import checkVat.services.vies.taxud.eu.europa.ec.*; import javax.xml.rpc.holders.*; import org.apache.axis.holders.*; public class Klient { public static void main(String[] args) throws Exception { CheckVatPortType p = new CheckVatServiceLocator().getcheckVatPort(); StringHolder countryCode = new StringHolder(); StringHolder vatNumber= new StringHolder(); countryCode.value = "CZ"; vatNumber.value = "25525832"; DateHolder requestDate = new DateHolder(); BooleanHolder valid = new BooleanHolder(); StringHolder name = new StringHolder(); StringHolder address= new StringHolder(); p.checkVat(countryCode,vatNumber,requestDate,valid,name,address); System.out.println("countryCode:"+countryCode.value); System.out.println("vatNumber:"+vatNumber.value); System.out.println("requestDate:"+requestDate.value); System.out.println("valid:"+valid.value); System.out.println("name:"+name.value); System.out.println("address:"+address.value); } } A spustíte: $ java Klient countryCode:CZ vatNumber:25525832 requestDate:Mon Sep 10 00:00:00 CEST 2007 valid:true name:Elektrika.cz spol. s r.o. address: Makub -- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Supercomputing Center Brno Martin Kuba Institute of Computer Science email: [EMAIL PROTECTED] Masaryk University http://www.ics.muni.cz/~makub/ Botanicka 68a, 60200 Brno, CZ mobil: +420-603-533775 --------------------------------------------------------------
smime.p7s
Description: S/MIME Cryptographic Signature
