Использование SoapUi для работы с веб-сервисами. Часть1
01.10.16 01:10

????????????! 

? ?????????? ??????? ? ???????? ? ???????????? ?????????????? ? ??????? SoapUI, ??? ???????? ???-??????? 1?. ????? ??????? ??????? ???????? ?? 1? ?????????? ? ??????? PDF ? ??????? xml-??????. ????????? ???? ?????? ? ??? ? ???? ???????, ?????? ? ????????? ????? ??????? ??????? ?????? ? ???-?????????. ?? ??? ?????? ? ?? ????? ????????? ??????? ??????? ???-???????? ? ?????? ? SoapUI, ????? ????? ???? ??????????? ? ?? ???????????????? ? ????.

1. ??????? ???-??????

??? ?????? ??????? ????????? ???????????? ??? ???-???????? ? ??????? ?? ????? ??????? ?? ????????.

??????? ????? ???-?????? ? ?????? test1 ? ???????? ? ??? ???????? hello ? ???????????? ????? string. ????? ???-???????? ? ???????? ????? ?????? ???????? ?? ????????.

????? ????? ?????? URI ???????????? ???? ? ??? ????? ??????????:

??? ??????? ?? ???? ? ???? "??? ?????????" ????? ?????? ?????? ???-??????? ? ????? ????? ??????????? ??????? hello.


??????? hello()
	??????? "?????? ?? ???-??????? 1?";
????????????

2. ?????????? ???-???????.

??????, ????? ???????????? ??????? ???? ???????? ?? http, ????? ???????????? ??? ?????? ?? ???-???????. ??? ????? ???????? Apache 2.2. ? ??????? ?????? ? ???, ??? ????? ????????? ?????? ? IIS ? ??? ??? ?????????? ??????? ???????. ????? ????????? ? ??????? Apache 2.2 ????? ????? ? ???? ????????????????? - ?????????? ?? ???-???????. ???? "???????" ?????? ???? ????????? ? ????????? ??????? ????????? Apache. ????????? ???? "???" ? "?????" ???-???????, ??? ??? ?????????? ?? ????????? ????.

3. ???????????? ? ??????? SoapUI

??? ???????????? ???????? ?????????? ???????????? WsUser, ? ??????? ??????? ? ????? ??? ?????? ?????.

????? ????? ????????????? ? ????????? SoapUI. ??? ????????? ????? ?????? ??? ???????????? ???-????????, ??? ????? ???????? ?? ???????? ? ?????? post-??????? ? ????????.

??????? ? ???? File - New SOAP project, ?????? ??? ??????? hellotest ? ? ???? Initial WSDL ???????? ??? ????? ??????:

http://localhost/test_ws/ws/test1.1cws?wsdl

? ??? ????? "test_ws" ???? ?????? ?? ??????? ????? ? ???? "???" ? test1.1cws ? ???? "?????".

???????? ?? ? ?? ???? ????? ????? ????? ??????????????, ????? ??? ???????? ????????????? WsUser. ????? ?????? ?????? ? ??? ???????? binding.

Soap12Binding ?????????? ???, ??? ???????? ?? ????? ?????? ????????? SOAP 1.2. ??????? ? test1Soap12Binding ??????? Request1 ? ?????? ??? ???:

SoapUI ??????????, ????? xml ????? ???????? ? ???? ???????. ????? ???????? ????? ???? ??? ???? ?????, ?? ????????? SoapUI ????? ????????? ??????????? ??? ??????? ?????????? ???????? Request. ???????, ????? ?? ???????? ?? ?????? ???, ????? ???????? ?????? ??????? ????? ?? testSoap12Binding, ??????? Show interface view ? ? ??????????? ???? ?? ??????? "Service Endpoint" ?????? ??? ? ?????? ???????????? ???-????????:

???? ????? ?? ???????, ?? ??? ??????? Request ????? ????? ???????? ???????????, ? ?????? ?????? ?? ?????? Auth.

?????? ????? ???????-?? ????????? ?????? ? ??????? hello ? ?????????? ?????:

???????, ??? ??????????!

4. ???????? ??????? ?????????? ? ???????.

?????? ??????? ????? ??????? ? ???????????, ???????? ???????? ?????? ? ??????, ??????? ??????? getSaleDocNumbersByDate, ??????? ????? ????????? ???? ????????? (????????? ?????????) ? ?????????? ?????? ?????????? ?? ??? ???? ???????. ??????? ? ???????? ???????? date ? ????? dateTime:

??? ?????:


??????? getSaleDocNumbersByDate(date)
	//
	?????????? = ?????????(date);
	????????? = ????????(date);
	????????????????? = ?????????.?????????.???????(??????????, ?????????);
	??????="";
	???? ?????????????????.?????????() ????
		?????? = ??????+" ?"+?????????????????.?????+";";
	??????????;
	??????? ??????;
????????????

?????? ? SoapUI ?????? ??????? ???? ????? ???????? ?? ??????? testSoap12Binding ? ??????? ????? Update Definition. ????? ????? ? ??????? ???????? ??????? getSaleDocNumbersByDate ? ??????? Request ? ???. ??? ?????????? ???? ????? ???????????? ?????? "YYYY-MM-DDThh:mm:ss" (????? ?????????? ?? w3schools ? ????? ?????????? ???????????? ???? ?????? ??? ????????? ?????? ? xml)

????? ????????? ??? ????? ?????? ? ?????:

5. ?????? XDTO

???? ?????????? ?????????? ? ??????? ????? ??????? ????????? (????????, xml ? ??????????? ??????), ??? ???????? ? ????? ??????? ?? ????????? xml, ?? ??? ?? ???????? ??? ??????? XDTO.

????? ???????? ?????? ? XDTO ??????????? ? ????? ?????? XDTO ??? ??????. ?? ????, ????? ?????????? ????????? ? ??? ????? ???????????? xml-??????. 

? ????????? ?????? ???????? ? ????????? xml-?????, ??? ???????? ????????? ? ??????

? ????? ? ????????? ??????? ? ????????? ???????:

  • ???????? ? 1? xml-?????, ?? ?????????? ? ??????, ? ??????? base64
  • ????????? ?? 1? ????????? pdf ? ??????? base64 ? ??? ?????????????
  • ????????? ?? 1? xml-????? ?? ????????? ?????????? ????????? ? ??????????? ?? ??????????

6. ???????? ? 1? ? ????????? xml-?????, ??? ???????? ????????? ? ??????.

?????? ????? ?????: ????? ???????? ????????? ????????? ?? ???????? ?? ???????? xml ?????? ? ???? ? ??????? ????????? ????????. ?????????? ????? ????? ? ????  xml ? ???????, ?????, ???????????? ? ??? ????? ? ????????? ?????? ???????. 

???????? ????? packet1 ? ????????????? ???? packet1_ns. ??? ????????? xml-????? ????????? ??? ??????? InDocSaleQuery ? ????? number ???? string ? ????? date ???? dateTime. ??? ????????? ????? ????????? ??????? ??? ??? ????? ?????? ????????? ????? ???????: SaleItem ? ?????? name ???? string, price sum, quantity ???? decimal. ? ??? ???????? SaleDoc ????? ? ??? ?????????? ????: ???? number, date, partnerName ? ???? SaleItems ? ???????? ????? ??? SaleItem ? ???????????? ?????????? -1. ?????? ????? ???? ??????????, ??? ? ??? ????? ?????????????? ?????? ?? ?????????? ?????????. ??? ??? ?? ??? ???????? ? ?????????????:

????? ? ????????? ???-??????? ????? ?????? ????????????? ?????? XDTO packet1_ns. getSaleDoc ? ????? ????????????? ???????? SaleDoc ? ??????? ?????????? incomingXML ???? InDocSaleQuery. 

??????? ??????????????? ??? ???????, ? ??? ????? ??????? ??? ??????????

???:


??????? getSaleDoc(incomingXML)
	???????? = incomingXML.number;
	??????? = incomingXML.date;
	?????? = ????? ??????;
	??????.????? = "???????
	               |	???????????????.????????????.???????????? ??? name,
	               |	???????????????.???? ??? price,
	               |	???????????????.?????????? ??? quantity,
	               |	???????????????.????? ??? sum,
	               |	???????????????.??????
	               |??
	               |	????????.?????????.?????? ??? ???????????????
	               |???
	               |	???????????????.??????.????? = &?????
	               |	? ???????????????.??????.???? = &???????";
	??????.??????????????????("?????",????????);
	??????.??????????????????("???????",???????);
	??????? = ??????.?????????().???????();
	???? ???????.??????????()=0 ?????
		//?????? ?????? 
		???????????? = ???????XDTO.???("packet1_ns", "SaleDoc");
		?????????????? = ???????XDTO.???????(????????????);
		??????????????.number = "?????????? ?? ???????!";
		??????? ??????????????;
	?????
		//??????? ????
		???????????? = ???????XDTO.???("packet1_ns", "SaleDoc");
		????????????????? = ???????XDTO.???("packet1_ns", "SaleItem");
 		?????????????? = ???????XDTO.???????(????????????);
		
		//???????? ?? ????????? ?????
		??=0;
		???? ???????.?????????() ????
			???? ??=0 ?????
				//???????? ????????? ?????????
				??? = ???????.??????;
				??????????????.number = ???.?????;
				??????????????.date = ???.????;
				??????????????.partnerName = ??????(???.??????????);
			?????????;
			//????????? ????????? ?????
			??????????????????? = ???????XDTO.???????(?????????????????);
			????????????????????????(???????????????????,???????);
			//????????? ?? ? ????????
			??????????????.SaleItems.????????(???????????????????);
			??=??+1;
		??????????;		
		??????? ??????????????;
	?????????; 
????????????

????? ??? ???????? ??????. ??????: ??? ??? ??? ????? ??? ????????? ????????? incomingXML ? ?? ??? ?????? ???? ??? ? ??????, ?? ????? ???????? ?????????? ? ????? ????? ????????? xml. ??????: ?????? ? ???????? XDTO. ?? ??? ??? ??????? ??? ??? ?????????????? ???????? ?????????? ? ??????? ????????XDTO ????? ????, ? ???????? ???? ????????? ??????????? ????. ????? ????? ????????, ??? ? ???? SaleDoc ??????? ?????? ????????? ???? ??? ??????, ?? ??? ???????? ????? ?????? ????? ???????? ? ???? number.

??? ??? ???????? ????????? ????? ??????? ? SoapUI:

??? ?????, ??? ????????, ?? ??? ???? ??? ???????? - ????????, ???????? ?? ????? ????? ?????????? ????????? SaleItems ? ??? ? ?????????.

?? ???? ? ? ????? ??????? ???????? ? ???????? ??? ? ????????? ??????.

? ??????????? ?????? - ???????? ?????????????? ???? ? ?????? SoapUI.

Read Full Article