Web services with LV client

A typical approach to web services is to access the host (an embedded cRIO, for example) using a client running in a browser with some JavaScript.  Has anyone implemented a LabVIEW client that calls the web services on the host?  How might this be done?
Solved!
Go to Solution.

Hello kc64,
I am sorry about the confusion. I am going to parse your response in the post to hopefully be more clear and answer the questions you are asking.
My current project status is this:  I have a cRIO with a working RESTful web service and I can access it using my browser.  It works great.  Now, I want to access the same service using a LabVIEW client. It has been established that LV can act as a client to a web service by the fact that it will actually generate the interface code to access the server using Tools | Import... | Web Service.  I have generated a client for an Internet accessible web service and it works.  That process, however, required a WSDL file from the server.  I don't have a WSDL file for my cRIO web service. I can make one if absolutely necessary in order to use the web services import wizard.
I have done more research on this and right now we can say that using RESTful web service by itself will not provide you the functionality to create a LabVIEW client. What we think might be possible is to create a WSDL file to access this web service but we need to talk with R&D to see about this. We know that LabVIEW doesn't have the ability to generate the WSDL file for you so you will have to create this. When I find out more information about this, I will send it your way.
Or I can write my own client in LV if I new how to register the service with .NET, which I do not.  So, it is a fact that LV can be used to build a web service client.  I seek to better understand how that may be done.
Yes you can and we have seen several customers do that with .NET. I also asked R&D about this and they said that you could use TCP/IP in order to get the information into LabVIEW as well. I did some research how to do this online and I found a presentation explaining how to do this as well as some code at LAVA by John Lokanis. In the notes of this example of this code, it states that there is "a VI that demonstrates how to call a LabVIEW web service from a LabVIEW VI or Application." which is exactly what you want to do.
I hope this information helps you and when I have more information about this, I will send it your way. Again I am sorry for the confusion.
Jim St
National Instruments
RF Product Support Engineer

Similar Messages

  • JAX-WS Web Service with XFire Client

    I wrote a simple web service and client using XFire. However the server now needs to be JAX-WS. I wrote a simple service using NetBeans but I can't seem to get it to work with XFire. JAX-WS doesn't seem to like the SOAP XFire is sending it and the parameters passed into the web method are nulls instead of the intended values.
    Here is my web service:
    package org.me.hi;
    import javax.jws.WebMethod;
    import javax.jws.WebResult;
    import javax.jws.WebService;
    import javax.jws.soap.SOAPBinding;
    import javax.jws.soap.SOAPBinding.Style;
    import javax.jws.soap.SOAPBinding.Use;
    import javax.jws.soap.SOAPBinding.ParameterStyle;
    @WebService(name="HelloWS", targetNamespace="http://hi.me.org")
    @SOAPBinding(style=Style.DOCUMENT, use=Use.LITERAL, parameterStyle=ParameterStyle.WRAPPED)
    public class HelloWS {
        @WebMethod(operationName="add", action="")
        @WebResult(name="return", targetNamespace="http://hi.me.org")
        public Integer add(Integer a, Integer b) {
            if (a == null)
                System.out.println("a is null");
                return null;
            if (b == null)
                System.out.println("b is null");
                return null;
            System.out.println("a: " + a + " b: " + b);
            return a + b;
    }Here is the WSDL:
    <?xml version="1.0" encoding="UTF-8"?>
    <definitions xmlns:tns="http://hi.me.org" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns="http://schemas.xmlsoap.org/wsdl/" targetNamespace="http://hi.me.org" name="HelloWSService">
      <types>
        <xsd:schema>
          <xsd:import namespace="http://hi.me.org" schemaLocation="http://localhost:8084/HelloWS/HelloWS?xsd=1"/>
        </xsd:schema>
      </types>
      <message name="add">
        <part element="tns:add" name="parameters"/>
      </message>
      <message name="addResponse">
        <part element="tns:addResponse" name="parameters"/>
      </message>
      <portType name="HelloWS">
        <operation name="add">
          <input message="tns:add"/>
          <output message="tns:addResponse"/>
        </operation>
      </portType>
      <binding type="tns:HelloWS" name="HelloWSPortBinding">
        <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
        <operation name="add">
          <soap:operation soapAction=""/>
          <input>
            <soap:body use="literal"/>
          </input>
          <output>
            <soap:body use="literal"/>
          </output>
        </operation>
      </binding>
      <service name="HelloWSService">
        <port binding="tns:HelloWSPortBinding" name="HelloWSPort">
          <soap:address location="http://localhost:8084/HelloWS/HelloWS"/>
        </port>
      </service>
    </definitions>Here is my quick and dirty XFire client:
    package org.me.hi;
    import java.net.MalformedURLException;
    import java.net.URL;
    import org.codehaus.xfire.client.Client;
    public class HelloTest {
        public static void main(String[] args) {
            Client client;
            try {
                client = new Client(new URL("http://localhost:8085/HelloWS/HelloWS?wsdl"));
                Object[] results = client.invoke("add", new Object[] {1, 2});
                if (results.length != 0) {
                    System.out.println("result: " + (Integer)results[0]);
                } else {
                    System.out.println("null return");
            } catch (MalformedURLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (Exception e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
    }Here is the SOAP I intercepted between the XFire client and the JAX-WS service:
    Calling the web method:
    <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
      <soap:Body>
        <ns1:add xmlns:ns1="http://hi.me.org">
          <ns1:arg0>1</ns1:arg0>
          <ns1:arg1>2</ns1:arg1>
        </ns1:add>
      </soap:Body>
    </soap:Envelope>Response:
    <?xml version="1.0" ?>
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns1="http://hi.me.org">
      <soapenv:Body>
        <ns1:addResponse></ns1:addResponse>
      </soapenv:Body>
    </soapenv:Envelope>Console at the server side:
    a is nullConsole at the client side:
    null returnNot sure what I'm doing wrong, but I wrote a quick JAX-WS client using NetBeans and it works. We would like to keep using XFire if possible. Here is the SOAP between the JAX-WS client and the JAX-WS web service.
    <?xml version="1.0" ?>
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns1="http://hi.me.org/">
      <soapenv:Body>
        <ns1:add>
          <arg0>1</arg0>
          <arg1>2</arg1>
        </ns1:add>
      </soapenv:Body>
    </soapenv:Envelope>
    <?xml version="1.0" ?>
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns1="http://hi.me.org/">
      <soapenv:Body>
        <ns1:addResponse>
          <return>3</return>
        </ns1:addResponse>
      </soapenv:Body>
    </soapenv:Envelope>

    Result after navigating to: http://localhost:8084/HelloWS/HelloWS?xsd=1
    <?xml version="1.0" encoding="UTF-8"?>
    <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://hi.me.org/" version="1.0">
      <xs:element xmlns:ns1="http://hi.me.org/" type="ns1:add" name="add"/>
      <xs:complexType name="add">
        <xs:sequence>
          <xs:element type="xs:int" minOccurs="0" name="arg0"/>
          <xs:element type="xs:int" minOccurs="0" name="arg1"/>
        </xs:sequence>
      </xs:complexType>
      <xs:element xmlns:ns2="http://hi.me.org/" type="ns2:addResponse" name="addResponse"/>
      <xs:complexType name="addResponse">
        <xs:sequence>
          <xs:element type="xs:int" minOccurs="0" name="return"/>
        </xs:sequence>
      </xs:complexType>
    </xs:schema>

  • Web Service, SSL and Client Authentication

    I tried to enable SSL with client authentication over a web service. I am using App Server 10.1.3.4.
    The test page requires my certificate (firefox asks me to choose the certificate) the response page of the web service returns this error:
    java.security.PrivilegedActionException: javax.xml.soap.SOAPException: Bad response: 405 Method Not Allowed
    Has anyone used web services with SSL client authentication?
    Any clue why?
    Regards

    Any comment?
    Thank you.

  • Creating client stubs for web services with callback operations

    Hi,
    I have created a simple web service in Workshop to simulate an asynchronous communication.
    When I test it within workshop everything is fine but how do I generate the necessary
    stubs to create a java client that will support the callback operation ? The only
    doucmentation I have found suggests using <clientgen> with the "generateAsyncMethods"
    attribute but <clientgen> does not support that attrbiute until version 8.1, I'm
    using 7.0. Has anybody run into the same problem ?
    thanks in advance,
    Mike

    This example doesn't use any callback operation though. Is there any sample that
    shows how to implement a client for a web service with a callback operation ?
    Mike.
    "Raj Alagumalai" <[email protected]> wrote:
    Hello Mike,
    Please refer to the attached sample on writing a Java client for a
    conversational web service.
    Regards
    Raj Alagumalai
    WebLogic Workshop Support
    "Mike" <[email protected]> wrote in message
    news:[email protected]...
    Hi,
    I have created a simple web service in Workshop to simulate anasynchronous communication.
    When I test it within workshop everything is fine but how do I generatethe necessary
    stubs to create a java client that will support the callback operation?
    The only
    doucmentation I have found suggests using <clientgen> with the"generateAsyncMethods"
    attribute but <clientgen> does not support that attrbiute until version8.1, I'm
    using 7.0. Has anybody run into the same problem ?
    thanks in advance,
    Mikebegin 666 register2.zip
    M4$L#! H``````.M&-"T````````````````'````:6UA9V5S+U!+`P0*````
    M``#K1C0M````````````````# ```&IA=F%?8VQI96YT+U!+`P0*``````#K
    M1C0M````````````````% ```&IA=F%?8VQI96YT+V-L87-S97,O4$L#! H`
    M`````.M&-"T````````````````+````:G-P7V-L:65N="]02P,$"@``````
    MZT8T+0````````````````@```!M87IE9V5N+U!+`P0*``````#I1%\M````
    M````````````"0```')E9VES=&5R+U!+`P04````" !F:S<MKE+WC%,!```9
    M`P``$@```')E9VES=&5R+V)U:6QD+GAM;(5304[#,!"\(_4/B\4U\0>22JA"
    MX@`"]<(1.?:V=7'L:.T458B_8R=.2TM%;UGO[,YXQJDZ<EN4`:QHL6:$:^T#
    M4B&-1AL8*%R)WH2:"6,8-,*CTE2SDLUG-[,;@"K.=TAA#VAWFIQMXUC-8L'X
    M! F"UC@Q#'L4=FB5KYET;:<-'K&W10&+\1"66<QBT +2".]!V^ @;' LT4/4
    M$_4[VD-1S/_R30R9("D680-:Q=:PMQP6I4,V'Q$9@P;392!]QQOS3,B _X^;
    M9+\B>6?+K: K(W=?T:[R[>G]\>7YX9M[I!T2-[KAG]BD2DO,6D^653S-'R_6
    M?D0O8,SG5&T&;,5.2/ D<X:3)FVEZ17&/$XM+]/ `14!X6SYU#I82+BZX.L9
    MS[T-R]X&G>*Q+G</+X"/\?U^$"KZ%7!(O>FU45<S-RCLE&:5IR_Y<D87#1W_
    MAEC]`%!+`P04````" !F:S<M.$,VJ88```#^````%0```')E9VES=&5R+T-O
    M;G1A8W0N:F%V86V.00K#, P$[P;_0<?VX@_DV"?D!8H1J5K'%K):FH3\/8&F
    MAX+WN+,#*QB?.!*(EL\<E$:N1MJ!=][):T@<(2:L%6XE&T8#GB311-DJ//"-
    M@4OH21D3+S@D\F[U#HZ<<F_*>81J2F1="T6VN0FJH5&3+"S-7NXE_XPC?Y/S
    M_^4*Z^;=]N4[4$L#!!0````(`&9K-RWB.$D(@ ```+P````4````<F5G:7-T
    M97(O4&5R<V]N+FIA=F%USCT.PC ,AN$]4N[@$99<(",70.H)W,@*IDD<.>&W
    MZMU;! ,,?.NC3WHKA@DC056Y/YQ2Y-9)/5AC3;V,B0.$A*W!D;1)`<XU4:;2
    M&YSQBH[%#:2,B9\X)K)FM@:V?;Y#5RX1"F;R/W"0TC%T.,D_N8E._I7Q9>^(
    MW1[FQ9IE!5!+`P04````" `W2U\MK.Q^UNL&``"6$@``% ```')E9VES=&5R
    M+W)E861M92YH=&ULK5AA;]LV$/T\`_X/1+:B&Y!82;IA0.H:R(H`W=!A09LM
    M^U"@H"4Z8D.1*DG9\8;]][T[2K*<*.NP]4/D6"2/[]X=[QX]+V-E%M/)O%2R
    MH,^HHU'XYXVZT2$J_])H9>/L@US+,W&MEJ_=C<[%M?.WH70UO1%OE5_K7(DT
    M55QZ=[<5%W>RJHV"Q:PS.0]Q:Y2(VUJ].(CJ+F9Y" <8*$\.\3BEQS-Z?(M'
    MC3^C\5@:E]]^;%R$K3^GDR]6SL:CE:RTV9Z)WY0OI)6'XMQK:0[%*V76*NH<
    M;X*TX2@HKU?/L:J2_D;;(Z-6\4P<UW=X]Q=M+/X4;##H/]29./GN^,ES00.G
    M]P:>M0/UH3#ZWM@IC^QP?GIX#\V)JGA&8S!B0/H1\W1$/)V)\+&17O&$><8#
    MQ&36A6OIBBV'[V3QF2(&VR=L\73QHXW>%4T>M;-X?4JO:SRN2AW +\T6A:J<
    M#='+J((HW49$)W*O\%5(\1,PB#QMLG(>;WH8&\ ("<9L.OG1BEIZ!*XQTA\*
    M'4?M:@OW9![%1L<2QG)GU\H'2?BD&9H4TA;=JDI:7<,N)5#NJMHU&&-DQ' 0
    M35 %3(M8JJ&)IR'MMY) **XPV#J"^>'^Y&ZL9B9_.G_3<E @\-M=$(AWY6%Y
    M'N,B+;E1H!;?@-29V3RK$\DCP10@78H0X9HTSJKD@ZQK@WPG"@!*1B'S7(4Q
    MB+'TKKDIZ?UT,AQ@T#/!/B8'.%9V*V[T6MD>_G0R%CV&M9;:R"728>5=E7#L
    M:+Q2(8K?M-H(EUC^94UC^%[+&R5 $*C(;[6]F4YH>+Y<L&N<EO-LN<"IL+<)
    M($X@(T0@X:(D1@98CD*M<KT"TQ2"E08@Y$B4VL*XX(PQ1G$^"[=JG<V-)+[(
    MOJ/@,D0>.A1;UTPGT@0GK$*6T @"AJ*2T[;MKGD7(Y\\?TC(CH&!LZ+U-9V^
    MMTU=.Q\15$\N4_&#SRD?D!%26%FA;%[8M?;.5MCP8#'/9'M2!Z]W!Q6'ROE"
    M>3H$OB'J^V-[R)NOP(;;$)2J`< E7/>-.FN3L#%I:Z/YR#/6Z]?O7_WR\P4'
    M1>WV%&N)^DON=H:"BK3M#Q?GO" #6X9RZ/OC8]3T3:F\Z@>),()SL%3R0!3:
    M(T+.;^E,;DJ=<\;NSM E3C+RLYI.-)U0G >$M)A1462D'6*@E<0&D':@$'4$
    MU(O+\ZM7,S&8`$N%,DAVCR!S<;E^_99K2"XMCC!1154#B,8\R@*?ZVRI[0SX
    ME$025?(6+#1><4Y,)P.WPCZ0,>1TWO\9>C]C%#N2-H$7H]@_%+<GST[>'S_[
    M#)"S+D^0=B]QV) .H<U!<J5O>_@N"/BRT::8W54FI?G]&3BER*>0>UW'=)RH
    M9N,DIQS9KXL/JB%.>W"F*\>S^=)SM]S;X][749#L2)[J+N%,AGCH$AW'V7YD
    MS(-?HS8Z]I6E[S =^,[$)CQ]I,<\VEQ+%51O%\)@.E%WM:>"7W"^[II=T57;
    MSJ0NU'\G9*0?/>;])SL4][$6%:KP0U9F:)14N2NJ+:'KS5S.J3/!8P/1UU;Q
    MU#,*A2IO`MG;>!VIINUUAJ$4^?\L]#G@'R/A@1ZXWXSN=>=AY_K]Z,WERS[(
    MU'BH];BVLX_RQ8J,MD!M15-T2]H&J]IV_%A/'6_(X'#7L(CPL1W/]\2=5Q\;
    M5(N 6NEB^4_.M4Q0K@Z[*?"--51&R@L^U5E9:/VKUIK4Q&?+@4UX+ ?N"S"B
    M,C6T1]5=ZSG8#9HKP$Z\M=*NCC0O;;Z73QLGJ&I!'B,*7Y?01TSR!I+M&_Y/
    M4K,/NPK1BB N$6FA*&24_YT9:(S94L:,/D/Y&"ND1%)Y#\S(H$31UVMM"X))
    MB%]KV]QEOUI]=X@,HR2*Z'-F2_RPH,$U"CH#]:%O*O#7/HWL-5I?+E%ZJ1=2
    MIU#0<[email protected]=<1WM8%1RVV6PJ+0%BLH5E*^))(+%O6^@>/XE2UU;I [&-0E>
    MO6DL1VRTI';:[6I/GI',\>D>1J(W-%6;$:R,DB9CV]2=1X49-PM69;GSU-:)
    M1:JR?!N O"R]6KTX^')/7^ZI2KG \B2=Y=*M57=7<?SS`=3 SP/YH'87O?9:
    MV=Y]*,U](F#6:@A:"ZF*Y*\*$4IE<(_/J>"=35L12C-VN7#&MZ>O6K>SU"I#
    MMFDWS ;])O2C7(@SWU+.-Z[!]FW2)<M/6LM/WK6+WW6FWPU-]Z-L^MVHZ:2-
    M!AM=X<9)1X7V8?')DY<+OC4GG</L[76K\>5@<6]Y4O@/%-+04C)R08I#(*@-
    M[MFJ$K:IEB@G9*.&%(&T9CN@A%PE79$2;R8N)&K7;B&?+FK/:Y?WY41"P*]6
    M$*/8&\5O.NDJF(-QGM4[E+E6.6;=KQA9^VO4WU!+`P04````" !T9E<MGYQ.
    MU\X.``#G2@``' ```')E9VES=&5R+U)E9VES=&5R0VQI96YT+FIA=F'M'&MS
    MVS;R>V;R'U!]:&A7IFSW;2>Y\2.]N.,VGMB]SMW-38:B((DQ1; $:5G7R7^_
    MW05 `22H1^M+D[MBVD0B@<7N8M\+)8_BVVC"6<$GB2QY<?SXT>-'R2P71<G>
    M1G=1F(CPM!J/><%'KWDTHAF-]Q=97I779<&C6>>45R_N8YZ7B<@:+XM9$K[F
    M,U'RKAE5F:3A>51RPFTP8'DA[A<L3B,IN611P5DJ8G@_8DG&RBEG<SY,Q22)
    MP[=S&>+L!.;EBM*P!NZ;!:@H/ESQ0HKLS<4L3X^W67$MHESAN;O[^!';91=J
    M*:*E9BC$692-Z&$LLCMX'B'A;$KL,Z2%!.!<9$]*EBS!G(FLC.*2C:(R8K(L
    MJKBL"MYG0QY'E43JGP!+DC2MX"7 S28$!U^),1N*<LJN7YU<L9&(JQG/RD&:
    M`/I12BCAF[W75V>,9[$8`4OSJ(AF'";(/I."(,TY&W' $78!?&9LG@#(<96F
    M"_9+%:7).(%U&:P"*B7.QJV)5GUD0YZ*.5$WJ'DKBDDH<IY511+.Y_-0,>NX
    M\_W]X?[^87B__T4H@>6AS<;PNHR*\F5#%+<!@"Q.LHK7,);G^31_?C--)$OP
    M"!F_CT!"B+$1B@>3O+A+8B0U`=8"U5&)Y$LCEV8"P5*"/.$9L!_%=[A@/_/A
    M)8H8NX9YO B?#O+G.-?L?<TYZ]V<GK-KVKAG1+Y>][,H;N54Y/7Q*HJ:<(@&
    MC604QUQZ<&1W2=10MK&H,E0S`O/SB].]BQ^_`_D9#EPM"-]&1<C8#5+__<EK
    M-DZ 1["A&)91DBE*)4]Y7$LG;MW['M2=7>&&/98FV2T#E7#8^D2R&RY+]K>$
    MS]FK.WP('ZY0K1F[&->0;")@VZF0R%ZT$B"D?9KRT^M+/#7\Z ""^4<$9UJ6
    M^=%@0(L0P-'7^_L'`TELEP-BR\!8S1;Y<VD8#A*>5\,43D;IO9EY1KQ__.A7
    M%"X&8["K_E;G<[Y4,'T$8O@6^"6)K;P@NB(V`W8Z[Y4RPJH:&&#,21M1&9O,
    M&59Z18],78]%.:@(Z#TQ*:N!P!:EB$6Z)W,>@X+'#;[email protected]_1,&EY! ,%IH"!
    MY9B*$5BI:BAK8&-1-!&!@P7=+$A6I1%6FFTSA8361E]6.>JV5 9-P#FRES<W
    M5VBI6%+62Z<1\LK"N.:28LQ3"^9S!.5@,% ?/)Z!S=X04/K\C&5@`H]]D]$I
    MF+GN//7G4(B4@S69O3FSK!!9,1#;9VP<I5)Y/YRM+)&B["?PC4FY,'RF8\B+
    M) .6P&ZS'/XN!;M>`"ZS4,!AHXV?<'B<H-.NX=Q%:87J#6O,["0+V4D*C(1W
    M"?@:KM<@P%ETB\POFB9-`4/K2%*9HR^S* *!D&"/>"T!!?\%MD4B05[03#5X
    M#J3<X7P@"+&F0"/84>]^U7-A0.P!=D2CY_ 7!RX&0UA=`%7P=M]Z91A/)%XK
    M@R2R'\#HM[B.PPV$@)81T G[@>EP7P7XJ!46!35G=W8<N/,IV,> ?>)!8V<Y
    MRR(8Q_)00SKQ- MZ;_RCMW.\?BT\/F![<)@@022UFZXZA%63K5=]KO>:BAE7
    ME@.,5Y*-!<K7R:90OE@%Y713*%]J"FPHFZ[]2F,P![_[V^GX>A64C>GX1M-A
    M0]ET[;>PEM\G&\UWI=<W*>B]R,#\D=Z!)0;%RZK9D!='+?!EL7 ?-,0<AU%L
    M4K@0%&IT"5%$T 2%PU+T"\!@`B$41+"2PY> P#07O7._0AX13UE@Y2O E9VU
    M&/)[13?8[CVIHAB/W:QCBLWPN%'XMAWHIA%I8.-#P'?J5Z!;8/(F]-)1,K(
    M;7 BA,)&B+K?Z@#&C%T4:9WT4+32D^C2')?0TZXK9#_4/J74\0WF/5&*Q[UH
    M08[<Q$DJ7QDVYPW<!\DXL"3D&1B\]4>+:S[Q>^:=]FP/`!Q>!P.I6Y/!.-ZU
    M'W'P1!OOY1,%*V2,JZ+ J-_AGV9SG_789WZHGM'+E8#%4R'@KR@3>')*P@1)
    M:^@5K@:!VPK526KB2@G:@'IAR1E&% G)$$1"D9=(-'.R7"<JR')77IZ#N'SZ
    MZ?+[4["9FXG/_XST9,(K/K]+;)9G%QSL0*98P-EL(C:M[^T3`PUO'9&/[HWY
    M^\[V>^\L45WK) M>5D56HZ8!(PGJDR^H'U<9(80Q`$$%@3;%'W@$WA#W8]<Z
    M)5.YK8[^ZYDU5-*(1';4?G2YIQ6 J]3U3H#G(,B7:KX&'C2+*@:]N!VDX\G$
    M[!,5GF\9UZHW(&0L#B' P:":0R*P+E1I+3P#MJY?ACOV[=T@!0EVX&MO^? ?
    M2>X"LJ31U;>-R<M$QGL>D/JO3>3$2O\B4VY<2LJZLU4+`KTN]Q]A_MN/$)F7
    M(_-^A*0[:.1 *]9A6-X.4WSB2-!?BJV@8["\!72LKSWHR>=U@(1<[1" ]N'_
    M@)46"O1-`,4NA<BQ1%=P+(0$%81PJ2JL46!OA7ZPF2J_\=%.OP:)%@3S:)-I
    MH^C$(L5Y.@3716O -KL3MSC7S>K&DX-4]05>5,FZ,KQ20Z*O/D]R9-'X&&
    M6(FY>9UT)_C+3TX@L=2=NZA(HF'*J4XR%>G(E$*4P0::J"9B%YUT[&&#LV('
    MHST6$EU&$NO.KHBM6*0-],TBY]*!\/KJK+VZF_"++"D3\'?_YB.+^$HNNR>U
    M0^[C1]0FLQT>OU0JX'H7!=JJX!GO<T)5WRR%H METFSC]4'UHE-<A%,=Z%W+
    M4.!G:H\YBF:.%<D1F3U#2(@E4\@^(#6^O[\WF;$#G=)LBP((%N?10M:MB[HO
    M@D$/3=#%XWH)<<?'%E5QQ)+7LB>S+'71'$M^-A>6$_;,-3!8=.I8'O0.]O?9
    M"5.>$[W;R1U@P^G3"?YY@$-_V-/_'SC6:'/,3K?"[! P.[4P.ZTQ.SW%/P]Q
    MZ ][^O_#E9AMH"L;H>B#\Q#X=BHGBBED!U3#<5L8L5-&I0+W'$P1B!,)/*.Z
    M/"B#ZB ZQLG4Y8VY=G*BBW,4?3#\S4*MMG)*=<94A "1=W4&WNC]$,41'U-O
    MQW2DKL\O^W6;TVEU@2K$D(IA25DW$)JZ6/"\X%)UT,!G$A+41" ]:J#J,<Z0
    MXP%#RB8;FIU6:E N.YR.3C+GRP7%SE6.R!$35>LL*+$E`<1-`,:."M1%3MEP
    MF\\8G=&)#;D#N\H2<* LB@N!C6$\"T^2934M;(*U@U52XX"5JH.(6H]V<QQ5
    M*39[`/R0-]Q;E"U6%6<:[email protected]^U(5#)&(5Q#,18==.(-D@'VM,OR65U;5<_1
    MGUL%_3-A=V=)O+NF,EO9G%)C(SCSU!DN,L "=L+@!%EL]=I(:I54VEVEJ>ZP
    M-5MN+=#6`?;]_;=UY8E&YPF,EZ<_%?1^9Q/S+ZC$OI 4Q[I2Z0;A[XNB`'4&
    MP<4^L&)E*Q)?4UJU$&H8T[_RTIB>[MYEES NNW46IS'^;W?V&IF^:>90L-K-
    MCL& 2O4D6'5<CM82X@F*:$K515T&TP:S9:2[;(DU>.9^DR!A\=2JBZRO6L58
    MH#DX:K_ X3O)%6TC,_Q/<RV^.OGL?2^F&3L7Z$\](8_OX>EV&[8TW8Q==@U$
    MH(EO.DGM+$(P"8P,OE*@OKG;$F%4N& RP:>=T"GRXY.%2JO .,!6I/LMPWG$
    MWJ*;(#RT)\ &+(I')_0RF7%"$*1U5,6J+$?(SD65CK"6#F9_(L2(\4Q4DRFB
    M,:G ]V4E[T9:^::,H[G[NZB8G"(TL.C88<_BM!J!N1/H)E"#C2<;8JL9-^^$
    MJ_TG:#^:)1:@6]>7:?KLXHI%HQ$$`))]1I0/D#J<#,3A715T+ET%Q]WEBIVF
    M%5W.Z7QQH9,@<H;JX-6%$; 6D $5$TH^T*O1\8"W'H)=4C?0@.=''GN_!(Z7
    M3H#M8"+BMB?7K!TE!:=<:U%#!]Z_JHJVCW>!V[!&@E/[1,5D36 OQ1S3L;Y#
    M0B=<0YJ)7>I6$E"C`]$G$%2@(FAW@[&SB:,AINYWHTR,`%XJ@'@;Q6 .IR_2
    M.T[1*7S!JP,JGMG^2&\\0:^AI7;7.FJ-=6QAKN*!`T]*=:.A6_4:\L+V*/)Y
    M`JI'(5]TJ^]6@964DN(J5^5#=BTZH1LO85L"K0]93#:!6(]89NIVGS%772 '
    M_A?N94N6B;DVS>=4_^PPLHU(#:9;<5Q %R$N138)`!RZSYN$BG,[82G4K8U@
    MITL\5HZ>7]0ZG8\;) )2;A"Y$:(/YF<NL'K&FP;@B;1Z(?I"SW#AEMHP!VH'
    MY2YT79CH"'+<N9TOL,EFA[;6QM*Z_1F1;()+FQ8"0U#G'F^WWJOL=1HI_98@
    MV72OD%(?^$/J1 IV=_9%'2T6`PH\.V$/P5[=;BW\K6L(9GB"(S-T9!C6IQ;D
    M?5L?NN1%K3WS7O7JZ.KA\'3V<! W@@;KVY<6S%A!CR^NXQ2AF\IP36FGGN'8
    M\#($C@Z:_$^'X 9N/8 H6#W<(EA=<5O)#/_3W)MAUN/A#,&D80C>ASCGRV0G
    MK/</EH9SRS-\GW(Y^4/ETFZ>Y=L)U$J1_GS+_&O#JW1F/)RT-MH$:T2VV^E\
    MUZB1L[PJL+0D5:3JJ8RJ^+8[S=CTUPZ-JGXGO+4-$;MNBI4OU9BMY H<D;06
    M=AJA]^S&+-H";_;]45@#EY /SU5]\1!ZW;X4:L9_2Z]13_Y4[:U5NXG('Z?2
    M@$30Z()]E!H-^']X2OWEEO'GRKOF9CR<*D^V<M$/*(IM-^*&F;;+62^+.'Q7
    M<]J[?-C1Z@?MG[[:TC]M^-,',QY.J+WV^4_G]/'%G18A'W?<:1'RX>GUUP^A
    MU^\I[K08^6?<^3'&G>X!?KQQITO'AZ?4WVP9=Z[\;: 9#Z?*DZU<]'N,.VV7
    M\_\3=W[0_NG;+439^U-5,QY.?'DVNE8]6RVZ?=.\Y\4LR>@*XRKC'CM=7OL?
    MW=!W!M5-"J1FZY;55K\LP[%">#HU#,>*=3B,4BUYM:%"J<4^`MIW_)NC0^IP
    M;*E2.-90N%ZUEK2O5"L<6Z@6C@Y"W_D>;J,-^K<4*J-/EVUL&G^.$7G C_
    M@0?SJR*\,1GH?YSAG__"RS-R^>..)23WGT0Q"N+>:E3O'$ZI>2']9.2X_5N[
    MXQH_^.\_4$L#!!0````(`&9K-RUF6MH]#$ !`->*`0`;````<F5G:7-T97(O
    M4F5G:7-T97)097)S;VXN:F%RY/T%3&!=EC6 X@Z%.T7A[N[N[N[N[EZXN[M;
    M0>'N[N[N[@Z%O*KJ_N>?[OFZ>OZ9Y"4O#T((R3DWP+YK[[776?M>60E@$"B
    M7Q\-RL14`/_I`_+GEY20(A^5F+0PC>Q_+*OYIV4@/[]L[$W^L +F[RML;(VL
    MG>S-M/*NG]:"?]/*UU<7/ZP&N<O5AM9&]@8&ADJNMD:.?QA*]&VVIJ8VEH
    M9/^G2Z#_Q27^ZZ[:?]J%^A>[7.EI:>G_L ?S7^YQI67\PS[</^YSL-&S_<.?
    M1_GO-QO86#O__&OU',ULK/]P)<;_QRO]^W_]KSO3Q4C?TL;$S. /RV#_\S)S
    ME_]\Q7^^UU'^>:FMO8VKV=]O(60`B)^?_YV[3\#&VE'/P)':P%+/P:%"<5-A
    MS1"9"V^9L+6R2LL[%,)2PT(/#1.AOGY*.5RYFK=:HEP(!U8"ZIBRM2D=12*8
    MI^N:;S.C@UWZ%'AB"<-O)2J*FVT7=]_5&M$Y-49$YR(Z/OTV\W(C_?7V,IXG
    M1Q\FN^"*<X)D.ER,3D&?.J29]"#.CT6!UG:C3V.'IAA".MUUM8\#49ONNO+I
    M47(LQ&>S3^FZEOB@P'NCJQX9]8H/:E&.L<IT*PBH_6(>>U A)K/=P,=,PZBU
    MQARE/4U#+5,Q)U'SLO*KX'HMEXA?R[XU[:IJN7+*L8)U_STUXN?/S<,KQR=0
    MTU%JC3MC+ O)F2MY[9K$-\=7<B<?T+'^\>51*C VTTR<B"[1ANU*,S@$(J8P
    M,Y(_%IE.P&./%7ZXL)R.RY*T$&9.G>I]<8+F4RFX^')7!LA#D4F#Z=S\F>UM
    MY0:G>$\JBK+:>;SR.RB.(8<)<D'8O'#%GJ9=8>#QL7E_K<0&AAM+)!)KZ@`T
    MNJB![%A,2D;*+KKL%%+[QO[ ^:IT) &<FOVC??<<C62A'1)ND1UF+Q1RU,S0
    M<!\H#83AP>NP!#=Q<]8NF*@QJ,R;5(SG&LF2M '_UPUSJ_DR:]9$X?%Z9A:6
    MBBM=8-Q".V@),&[I7:<,I9A09G^".[Q&<Y3,-(OD]0K=<$</_P`**.'=`Q<0
    MJ(NQZ4\V[*/[)V4:-1WJ-!KW,VFUUAJCUD:[email protected]*BRQG
    M:4BD>+;LQJK7NZ."DX>D[L],%$<B0%;TE+[>M'<"N9.![TV7'*J3RS,=0Y:^
    MVKDR>X^YG/HY6\@5%_Z9WL<2>L= 9(XO&0D'T*VFH]$7_./1Y_RCCV:M>T<2
    M9_PVU3 WT0!0<Z2T8F[GG)7QIKB%L')1^!QV@D/?37\0X1M^=09YKKH#":P;
    M9M 1/&U*B,XRHIE (.N3+Y<[P5B9=C5G$N<2.7'#-ZB>4T]X85AAN/[YO47P
    M! 5?F=()7WP]QXLMBQVAL$/BA I_MWK./>$%:T5EI_2>]+ZQX#UJ2##>/;VI
    MBE5&;VTE.%7J`B]QLY?!<;DNQ00XIQW2$82W"!(;VM<2Z0C&MY)X2JHV.*OD
    M[M),I]\B-^$[F5!A(_0SN*@I1V#GE =N>"#/- >)!+.X4O3UFI=F7+ONPH7)
    M+KVX,08/!]FZ2=)]K;49>BTU#T-=\-0<CE,Q67[P&X#WULK'D)%/E]%'J,95
    MB,PS`931&[:S(X>#);E#F8]4P2NL@-<0!_V:P.8A>*SWQOTT)/?:]K7B )
    MW*X[]*)76R<1VY-P\]G2H<I+2OXKK,IU`/0S\N,51_G$,T\TRSNPK 0XQ.@5
    MM?0J, ``/P0`P/_-$O^<@['_D"7,]9SUQE6T;%:9D;VT`3Z"H7GJG--&G&LI
    MRY5<)&9SCZ;TM=;T>H.Z<PQ7C(EC,866G?Q?']<EQ,.P1T=NKN$!Q9!OKJYN
    MLGHERAH[-U?\O9[:X,D"S$?T^N5U4^7H&/ -Y>J"V)(U&7J+NV!@7GKS>[>W
    M'VUO$!("Z&2V6H%=IR\[JSB[,94Y0^8T`S:266]F;+L-#D#YI0,S//@Q*XG"
    M.=.@W-I9,H8?[1#;'1Q(82>S>Q7]%,&>%-&C5:ENHR4J%?P4WB?\/_5%.UA8
    M^AM\_X3N`\9C@@CLUZW[='YM2^LK8\.SVJ5[5?-Q<P2!#5MIY3>;4698T>^I
    MEX/DC -CX',["QFQ6+IMYPYP:734+8;<C;$MS[I+-LY:3W>O[E'1'A#X4<4&
    M7GB8)=XT5G>E7)XHX]7^F3F\N6O^JQJ))X0/EQ9Z/(P'5T""+?:*Q\OCE:)8
    M+[\`<"PS-+XF;@""A,)0*ZGG#P):+<X#1 )V$XD#R'T]8I#P/A54P;9Z%SYL
    M`#8)[K;9P/#1%3@)1#I%$TO&,)!A0J8T!Y@#@*-2P(">;U@M"O[.9D<?Y'%!
    M&X:YA)<K]=I3-)Z:O+3D!K>W<%!]S+/A.GEV+]@1-D(,$^98US;3AL4UD0_C
    M-G(_"A6ZB4:))<.)Z*S[TX+W.4PG+XA<48X6`6SD$.^@QNK"'#(.=2LWK6!B
    M*(N>T[_)A=A9$;J=O S-Y^($6'^^>W]ZTK.,C0+J7<]+(</Y2,NU,P8BP/&;
    MQB")87#I)]> SG9@:-"+K="D9F))39*--9FUEB JBDG:;2!-)E(@>YC9C-D%
    MH_N&8IWP5=8%N2?U/7;8-HS/*E36.L@=\BP%#/!&RJGUKE7JD:<!J.>B#<E2
    MS<T0*H*L+,U+5C%+:]57F.D"2*7/NAAHO@F+B7<*!Z4J\$?L_H=,K*51)^GU
    M?7,Q`FRJRV'?^<T%7!P6@XV>RU@[SH^CFH_0O)41'^^T"\6N2/.I'-:4[Z53
    MV%%R%X40))^*,C<=5ZY@5FRG)R;?=W*%7?8BM!$*W!OT-D_9.96&$#.3M[14
    M6V,IYBK5S_CSG\6_.3Q0%TC)A5(Y#DW#17]H-E@80B2$7>W ONHD<)V_(F8X
    MM.F6T?_0!\,!):@#\D9U#.>,HWG]NL(7T#<_'%.N9I=)R;86E%O<U%6VA8T2
    M*!VJ2(2E>BD>1I/$JF#;)B'_0B8%0^2$0"+IT)A5MZO(E1/:'E:V#I[N
    M:RD[PX'%B=U\+T7D>IH>G"^2G[BW8/I)Q"I3+>YPXDS;[-QG=X.:Q7P`ID)5
    MA>$J'0&54BMCAV17*3=W83A@A01I?):2/AZRQ<)6T[VLZ/'*U:?\'F./&R/2
    M, C7@X<7-Z@_\LU\@_JIL;!>*$_<_#+K,<^QWI!!MD5F/3Q!7#HQKA+\$=\Q
    ML53\>*(=<P867/.0?"PF^>,#X%?F*7M;9J7]2;N_P?_GS///_ 3_7V<>@9\\
    MU^!O)"53^50%207^HX+7.93O2P=H(KFYJQ$@KE*.>JBNG#81+V ]>@]0^+!U
    M2RO=3GZ%U[+RC[D.BWN!R>V,+&_98T!RI=<I!\YB'T49$^9PWHA2*_N+L74/
    MDX,)&^.+L_?[Q[?@(7X4Z];I\$7!N] C%P,`DK4ZSYE(S S$ZQ8L?.G]/$Q_
    M:_SBU( GNQ"6'LF@5%))X92(,'2DW)9JS&+"" :>7L(>PI,@-!(A4\I2AE Z
    M-__0[KX$7;&05CM42(1#0LFKN[8`:$3JF^9DPK9AZ;;]`><VJNV:`!?"-HIM
    M+H3+\"=>WFW=JN+:4HNJVO)\!]JIZ=D-EY3A!BT:99*#-E&U)$E1I>'D!Y
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
    M(5'LC_/;8AK"/-]-UL>#ZV^J8<GQ?.+(,8\S;>P4D@V%R]-149VYR&@.^8
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
    M%&S7'GK*O;&[email protected]^E\=DOAU2/W'F3A.A+H&>3QE*ET^)8]F/X!^"MYP M5
    MR>X#`P#(_%$3)/OO)H^_"81Z-JO,\&]M`,^?P'U,SQD3SXW5E%LOTHJ$IG/[
    M6UA[@V#]^8;KQB7QF>)J#L&>+UL)B(2BC(KY7O& XDCW=EL)-G=CS7&QSRZ[
    M`37'`OQ$(]DH4P"3U!)I*?!1!R52[(>9:CUAQO@;9SFX3W#>((JS^<30;Y"]
    M60/0,B>@!Y&H];I[5:6$D%^3^_Q"C3GU^$CW5(?,OA3LJ]>[email protected];7M2WI+
    MSCSY1^<R<OK &8#*JVT9Z 'K.XW9'&AB^>'Y'&Z3[ PN8:YN$1X!'&1W3Z;V
    M">:LGGOYS)PZ;X^V0B>C.^HX:W_&]2_N;AZG'4L53U:7-$%-DQOMI7ULO)31
    M:V),(CF YQXA]9UE#7+HP6 ]#,*/TI(^?VM_:T\0^J@B`R\L]A-O'JN#0 T7
    MZB(:M_&LEFP^1JI:%XY(@<I@5[4\[]:1,5DH:G=.O^I7W3-3&>1^:W4I*C"*
    M)4*,2 ZDD\;.2\$`=D,;'WV#T!3)L@TMU:YA@PZ L@T%">]701WP]+D,8P6P
    M3_)TK0556:S'B2(T)EV=,E?\-!-;G>8@>0!_5 HHV$/=Z(@5SKTR\Z%4H.$^
    MFQK7MG_@+M1Y=0W9G3-6D>TBBU^9JOU"A-E[J.M)D4979M'7*10/O8^YKN&3
    MO?*]'<J[>NVK&1W)0+WF;=W+YQ7G=!CMP!>F+HX$$"D0I(HX;#37E,M'#C!"
    M"=+WQI4"^ -4:+=SYM&=(82<_=9S'FX?3/:"XJZY15)B<9).8].\T*YOX+I.
    M`Y![+KS]S!;AM/O.1S/XX<].\VO&ZOQ"94JGXXGH_F2#%7(3$D7R3VX^0FD<
    M`78-30JH_.>\R)T8GU,)35+FTK[L$Y<F]T8NXPMW+%^0!&Y&;%8)P3?$X^R(
    M3Q(H&(BJS9]%Y[%;K7QF-#^]N J\\ Z3Q6E3^ 1RS@NK<H2;BNH3YB@5NB-:
    MLN@G;"G7G4WQ.-N%R^E2MJ7+,=5]S<E.U"&K;*&^1W(MS/1:0N6.'/Q")=10
    M;)#H0S8S'&^VUU@`QND/ILETXR%P+9O/DP?V'4*>"[KZT@DGJ\PT=&+TCOC;
    MZA:*N8X0<^YT"-%"JR?2#-7?E,+/T1^:+.:&$(EAU\R?7G42UAE](&G8M*65
    MFE_T@:1 @>N O"WJPIP(=>Z@S3\A()J0$%02]RO5[5VE!V?MW)3W2"@BIQ')
    M)UK*1E:S+Y+(-'@799C,A 5\& M97BD0B:4>>',7'2MQ%73Q"<TO3 #%P(J[
    MV_BOQW)L*L:Y="SC<&%6$+H(K^+4.QB+97'4.N4[?7!\.+?+,Q";]K>D^>'F
    MT1H8.P?U7Q5-R9Z:"I[GQQX0AY^;!ER<9"5DE1USL;.I6GB!-<N `:=NH^W)
    M3/EIVZUVAJY^??<RTXHMB6MI/?$G]:)2DTJXT/R$7QBG4%A@T>L/X654)O_"
    M4!7DV _8V S%L+?_X?,K&T%P:=NQ_*0R@ A_HC(T_\UL] ^BX;$"L@K\1R3E
    M6!4UT"D"BB!^R6@]L*N@GZDAJ+]]("A02;<1AJZMBS$#0]-.;)\F\71&&H<P
    M3T%8F2)W28&O*#)/P4C9JURIXR1<S3=#@1J-[S_&/=;?7A:_MYJ\OYYV$QCF
    M0+FL'?67X[\(WK72^<9;JW/O"\-*A[N.PR(4U\I%\K'$,DCRO[+V8>D1]THB
    M$Q-("@M%A,JNJT;/(@ZD9ALAZB$Z]88KX#,FS:7VI;1-].GJBU<12C;9P=DA
    M'!))WMQ]#0A'I+YN3B9JZY9N.Q:&W(BS%>I91=R(O:H,>11LH_GB0[LTNSS'
    MM+0\/\V&?G1D=HGZI0YB"/(HS2R0L9P%.566_A]40ZL*N[^KAI[_I!I*,J,C
    MVVX9_H-JZ-8C3U!#EZMFKAC+`<M5A+Y@&,Z<%Q\JM2TZQ"@Q*'#(7Q@;PZR.
    M60<S@Y>MX29UP,3614^8@9,Q]XVN7[X7J 934:H>#G+H*O$>RA;T3D^(U[J\
    MC.P<:[email protected]'XFXF*K0P%034@.(^6DD#H9$>;C&0['Z)2_V8AB]U)(D
    M]:Z+J\Q9FJ<<6X%2@@[D[('+HM:HWP&[/R?_2$/L>ID(+$7D,_4`=8X"K=6>
    M8VBS&!:V(J!31Y(B0'EGC&>X/NU:#8Q.^W<E%F&CN%EB&*6HP=V:O$"RK5YL
    M6H4BQAK^CQ"VY1W\JZ!Y=4TV=+70;PA5#&R^H7.E-!IX#@5!MGW#:"ZRV;0]
    MXK4CR[&7V'W+2 ^U62'EGSU]J0'[R8Q7G,I3@7C6'+F_]5$J+8(@4X76G39,
    MR1D1XAFBM^#M"'SB[F'ZI-WG1.SH>6QNZU&%2^,Z%>3\B7WJN!L0^V[+H.$.
    M,EXFU7-@ST$SG]W+?=FSMLBSC_%8>%A@%9J\9@Z=23HBXHIIKWPZQ3J-7$G<
    MCM60W*G_LZ<?EJ2U^Q71ZH3$_/T6!=@M4[Q-BN?H'H<FFBS];P%1[QDGQ#LH
    M'4;.]\@7^;H=G&<KR=?K@T*-#+:)%B6\XE7T,='1W3/:R];*R0DVV6J*.56V
    M"F\N=\/OP,3T7<CT>T[XY3$S4T*5N91\>/Z[J5R>H:;L_Y$0-<:)5MB$:HZ[
    MF,CQQI,L"HX4J(H+L$$M!%F:CB%4.^L6N8R/K@4]=@?FBU*,317%K*REV2"6
    MFN1C95&,XJVGHKYD"MSZ1JK6J%A-J3'BZ*ZU+:3Z9J&$(5SH`29^R+L/IPI+
    M(S^ISYR))W4L/=6.$WX?*]9.E=!.#==.E6E?J9;OM XCE1.J33NF=O2WW"/4
    M!I7&0H-7!>P63YGIA'97-MKO7,6Y*401[4R]>!64P48G/2W\E&:.Z0NM(1?.
    M=?>P*2%C416=50H\[4G1^'D',1GFG.5*!&AA)J(%8[KWKBZRB9>SUA-5[?$L
    M.B0YQ'@Y_'3H"8&1/:_?,$.ET"WDK3;[email protected] 3GF'^PZI2[1H&(*<Z2
    MOY:@.?VL9:DZ;!!^M1SJ<$M;_K>$B(0*B=,[^DM"/*%?%E(N<["R0U$>USM'
    M]'7:DLD+=]PBVMNBKVC8:LIO70?$-UX+/IQ.U9%O:^6_`U''V<9'-$:K$6W(
    M84895K*/86\G\(C6W#.8_YI]+IO-NS-X)&ZJ.+4DD)\EG.,)QF:EP"KHB7/]
    MUN<0^B/T$&%3B#/;=9JS[>U6509A<VN=U5\*E,'5&BS=I-HHUWXX\RT`\4Z=
    MK!\V89N8O'1V439_4X+J_8O3$]A)K8AM>.4AL] .7/</R/P4_,=CG/VFSJTF
    M7)<U7%&[31G_VV/2R*B;D<$E=O^O9-@N18$*K&>2C5)ZWQFHTOA3&=:S/H^W
    M(].Z0(XQ`CZCT!N3YIJ01?KD6WKR-M]R"+WAL77X<G,.B+WR9<_+D$X?X_ V
    M_I80-],;/>%ZUA?<#.]4QKJ8PL<"!7MF?:3$&TB@!/EMJSD#,,G1G"DV-<Z\
    M?M+AHE@J+D$QGP%.!'4*E(.JV=;1UM6#PL=MCZ^:-LO8(S^*M]-WOET;3>6B
    M='LGY\LW2Q;29XH7Y<O72Q:29XHGY>H%.W(%..SD]0H[!%CC!REB8V^-&;
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
    M[%DJ*@Q;V;$J9?_1"\Q\3 ZT++ZB11O^]>CA,2_ _A&IK$CB'">4! -">5
    MX%P):C6=0+0Q@EK%=>A>-@C1QE*^RA))H> I"+//;QN&Q6<)$1- `(!PH#^5
    M,9;_63!_U;/(."V+55KDH$O@YT^71HCJ\];)3E(8E#]T<2TMZ_1:DPH9-#(I
    M,<2B+,0_?A!RP$)'R%XE?GMTVW"86M:GR]3UDRKD#$@,B/*X8EY*`R=J6N 2
    MI]]S_0+Y.<:D?+__9 =E85,7UKJT>Q0IPV3YN8O,W5'15(.\^\)BO*VDY.";
    MK#"Y`KT1$%LODT39D%'VMZ0][BBP4UMW*#,]2P`Q%%5]N#46#7MMH6T:\@YB
    M=\96UR"))+P&F^M"IFJP&\_['?O$PZ=K;X8Y?N]$+:ID=#J[&G+SC>4BE[)O
    M0,;ZW-KAXYO>JKL-CW[F/E\GA6F_U0](M1S:"7!C[$\=6[*G2F-2OU_%Z6H-
    M6PH4.84Y:0T.%1SO%=D,U9JC3^D4\T;4!4:M^Y0W`4.,MT<K26[A1X2+4N6>
    M""M($8M'G]M+2I)\@H0YFQ(9/=-<LE^?N>>[R!FPC H>).C,I@G-$03D]]2U
    M9.TY;<=U[6M*:3_RL!.ATY1_2J4>?P`0R74ZV#SBL[9(#/ 1/R=M:/KAXV<B
    M12OS3*+T^@[T*_!.V]7I"3\#3PG\)Q3_E8%:Q.AG?*V,_AYJ>2,'6QMK!Z._
    M(==+854:20Y9J[B1;'>H4!,*-2&\JPYT@ ,_$)Z6'%(4@&F:I'A_"BYU8NYX
    M#C,2M^?3D 0NX[0^(]V+X8X(QJ.9R%SNO=[#<JWQI+K)=Z^)Z.SLCB\A:I0C
    M1SV"X,B:";1D2,P(_0FJQ49 2K%$^:)"L:C'$0%J& Y3AIH]1I JA)I&1Z,.
    MCUE:>Q8-^R=L+L')%$6CM'5Z'&[CU';E.^CJ]>KS;5^%@D0'JF!<4O%*B''I
    M`A;.N":FZO547[T+4_8G@+DL$.F_-1 A?/2+/5M+7 >DO49[MJU==)987+9$
    MZ>V74N6Q3F6?II5JN%6$AE7<FJ"L4S+<E?MX;8Q\MJTN)1&4FQH--!:86V?W
    M;[-0R<#N- B)0BQVE&A0.G#X*LY'\X)\]V6 =BM9N^+LTB&8ST**]L6\;AX]
    MB1ZJ<KOE*Q],Z!D8,,'JL@4H) R#Y+.4^3BUGG:W%*5H4^$6D#!&RUM[O![L
    M4%6]U@5ZBUF;Y01M7G*(3[2>,-?YH5EXNA?URXC/C]4.S8J;;V:'D1D/>:;F
    M^YI^:$Y4%JH>B@7GBI2+I#?!E7C$BZFUX43KVU+R0$4:HO6?K=O&<WO0M9*I
    M8VCN0/H@`$439@7)'F97(2HB%FQ/T,]PB!@-PV+!EE9)(ST*R?(@ILC#9Q1?
    M@(%\3CB./W^M@5=RT0V9ZA9^5=GA`K+Q0C0+.Y0F'. *#8G6ML[![''L364E
    MT'X#VOYJ=,;P-3H:(2SP],X&1QYG6A5\GRZ5'\?DM>866<1V(W^9&+/ZPY#]
    M'FQ;ENH-=@0O:%8GUS),:A)^5R2#*P"9G9]4%7I!^@C,5*:+OKF%G_A;G%8C
    M7:33BSCX3+[.30OF\<6PHPPQU-<;CH(M!#4Q,YQ,&8;0M,E1J3"-N1/F7(.[
    MSUU/-+]N_I"4U,K\GQD/#_1/68_BOW_S_\ITB4J7-K.T\&]C!6^?BKV75JP=
    M5B/EDK[YO_$:0(!8"GCREMC+L]R+GNER4!6>?$RP6==62($)FJ.PN5RV>[@T
    M:(P?'( Q;COW,078=^GR,TV-#05@?IYAS>O`U&8JP*4!<YL<''=PFDF/WT
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
    MZS;0`>.>_1C^!_5V1

  • Building client proxies for web services with SOAP attachemtns

    Hi all.
    I'm currently building a series of web services that take SOAP attachments as
    input, but I am unable to generate the java proxies for testing the services via
    WebLogic Workshop 8.1. When I attempt to build the proxy, I get the following
    error:
    Warning: Failed to generate client proxy from WSDL definition for this service.
    Suggestion: Please verify the <types> section of the WSDL.
    Is there something I need to alter to get this to work, or does workshop not support
    client proxies for web services with DataHandler parameters?
    Thanks.
    -Brian

    Thanks for the help. This is my first web service with SOAP attachments, so it
    may have been a long time till I realized that.
    -Brian
    "Michael Wooten" <[email protected]> wrote:
    >
    Thanks Brian,
    The problem is that you are trying to use the "document" soap-style :-)
    If you change this to "rpc", you'll should be able to successfully generate
    the
    client proxy jar. The soap-style property, is at the bottom of the "protocol"
    property sheet section, for the JWS.
    Regards,
    Mike Wooten
    "Brian McLoughlin" <[email protected]> wrote:
    Sure, sorry about that. Attached is the wsdl for a sample web service
    I created
    just to test the proxy generation.
    "Michael Wooten" <[email protected]> wrote:
    Hi Brian,
    Would it be possible for you to post the WSDL, so we can see what might
    be causing
    the problem?
    Regards,
    Mike Wooten
    "Brian McLoughlin" <[email protected]> wrote:
    Hi all.
    I'm currently building a series of web services that take SOAP attachments
    as
    input, but I am unable to generate the java proxies for testing theservices
    via
    WebLogic Workshop 8.1. When I attempt to build the proxy, I get the
    following
    error:
    Warning: Failed to generate client proxy from WSDL definition for
    this
    service.
    Suggestion: Please verify the <types> section of the WSDL.
    Is there something I need to alter to get this to work, or does workshop
    not support
    client proxies for web services with DataHandler parameters?
    Thanks.
    -Brian

  • Java web service with php SOAP client

    Hi!
    I have a Java web service with a procedure, which connects to a database:
    public boolean connectDB(String driver,String host, String user, String password)
    try {
    Class.forName(driver);
    connection =
    DriverManager.getConnection
    host
    , user
    , password
    return true;
    } catch (Exception v_exception) {
    System.out.println("connectDB(): " + v_exception);
    return false;
    If I call it from a PHP client, it doesn't work but doesn't throw any exceptions on the server side.
    The way I call it:
    $client = new SoapClient
    (<path>);
    try
    $conn=$client->connectDB();
    catch (SoapFault $exception)
    echo "\nexception: " .$exception;
    On the client side, I have an exception, but it's not very detailed:
    exception: Object id #2
    I had a simple function, too, which returns a string:
    public String getTestString()
    return "test";
    and if I call it from PHP, it's working...
    What may be the problem?

    Neither the simple "setter" methods work.. :(
    The php client side:
    $string="aladar";
    $client->setSample($string);
    $return = $client->getSample();
    The server side:
    public String sample;
    public String getSample() {
    return sample;
    public void setSample(String a_sample) {
    sample = a_sample;
    Any ideas?

  • Authenticating to weblogic web service using a client cert with webserver

    I am trying to think of how to authenticate a client to a weblogic web service
    using a client certificate. The wrinkle is that a Web Server (iis or whatever)
    will be handling the ssl part and forwarding non-secure to weblogic. The cert
    will still be accessable in the request using: HttpServletRequest req.getAttribute("javax.net.ssl.peer_certificates).
    At this point it is not clear to me what I can do. When does CertAuthenticator
    get called? Can I even use it? Will I have to write my own version of the weblogic.soap.server.servlet.StatelessBeanAdapter
    class?
    Any help will be appreciated, even explaining why it can't be done.
    Thanks,
    Scott

    I am trying to think of how to authenticate a client to a weblogic web service
    using a client certificate. The wrinkle is that a Web Server (iis or whatever)
    will be handling the ssl part and forwarding non-secure to weblogic. The cert
    will still be accessable in the request using: HttpServletRequest req.getAttribute("javax.net.ssl.peer_certificates).
    At this point it is not clear to me what I can do. When does CertAuthenticator
    get called? Can I even use it? Will I have to write my own version of the weblogic.soap.server.servlet.StatelessBeanAdapter
    class?
    Any help will be appreciated, even explaining why it can't be done.
    Thanks,
    Scott

  • Issue with OSI PI WCF Web Service with wshttpbinding

    Hi Experts,
    System Details:
    SAP MII 14 SP4
    OSI PI Web Service: PITimeSeries
    I am having issue when trying to call OSI PI web service using http post. it is returning status 0 when i am using exception handler in BLS.
    Same web service works fine with basichttpbinding (SOAP 1.1)  but with wshttpbinding (SOAP 1.2) it is giving error.
    Following are Web config binding details for web service.
          <wsHttpBinding>
            <binding name="wsBinding_2011" sendTimeout="00:01:00" receiveTimeout="00:10:00" bypassProxyOnLocal="false" transactionFlow="false" hostNameComparisonMode="StrongWildcard" maxBufferPoolSize="524288" maxReceivedMessageSize="65536" messageEncoding="Text" textEncoding="utf-8" useDefaultWebProxy="true" allowCookies="false">
              <reliableSession ordered="true" inactivityTimeout="00:10:00" enabled="false" />
              <security mode="Message">
                <message clientCredentialType="Windows" negotiateServiceCredential="true" algorithmSuite="Default" establishSecurityContext="true" />
              </security>
            </binding>
          </wsHttpBinding>
    I am not sure it could be the issue with passing windows credentials.
    Did anybody consumed WCF web service with wshttpbinding with security mode as Message and clientCredentialType as Windows.
    Also i was trying to pass MYSAPSSO2 SSO token to service in http post but first i am not sure if this is correct windows token and second which header property of service should be mapped and i am not sure that I am going into correct direction or not.
    Please let me know what i am missing.
    I have tried following other options and tools:
    SOAP UI: basichttpbinding works fine for wshttpbinding receiving Internal Server error in log and Response as
                      The security context token is expired or is not valid.
    MII Web Service Action Block: basichttpbinding works fine for wshttpbinding not able to configure url through wizard because as per                                                                              my discussion with other MII experts MII does not support SOAP1.2. that is one reason for using http post.
    WCF Storm: both bindings works fine (There is option to select windows authentication and Impersonation level as delegation)
    WCF Test Client: Both bindings works fine
    Any help is appreciated.
    Thanks & Regards,
    Manoj Bilthare

    Hi Sam,
    The web service is valid following are details of testing on various tools.
    SOAP UI: basichttpbinding works fine for wshttpbinding receiving Internal Server error in log and Response as The security context token is expired or is not valid.
    MII Web Service Action Block: basichttpbinding works fine for wshttpbinding not able to configure url through wizard because as per my discussion with other MII experts MII does not support SOAP1.2. that is one reason for using http post.
    WCF Storm: both bindings works fine (There is option to select windows authentication and Impersonation level as delegation)
    WCF Test Client: Both bindings works fine
    Please let me know if additional details required.
    Thanks & Regards,
    Manoj Bilthare

  • Getting error in cxf web service with spring 3.0.

    I developed a web service using cxf. Implemented the client codes to invoke the web service.
    The client codes running fine through JUnit test case but whenever I try to invoke the client through another service (after actual UI integration),
    its throwing error while initializing the service. I'm using cxf 2.2.7 with spring 3.0
         // configuration stuffs
         public static final QName SERVICE_NAME = new QName("http://perksplus.com/WebServices/HealthPrize/Rewards/", "Rewards");
         //@Value("@{perks.api.wsdl.location}")
         private String wsdlLocation="https://www.perksplus.com/WebServices/HealthPrize/Rewards.asmx?wsdl";
         protected Rewards loadWSDL(){
            URL wsdlURL = null;
              try {               
                  setApplicationContext(applicationContext);
                  Resource lResource = getApplicationContext().getResource(wsdlLocation);
                   wsdlURL = lResource.getURL();
              } catch (MalformedURLException e) {
                   LOG.error("Invalid wsdl URL"+e);
              } catch (IOException e) {
                   LOG.error("Error while loading the file"+e);
              this.rewards = new Rewards(wsdlURL, SERVICE_NAME); *// ERROR THROWING AT THIS LINE*
              return this.rewards;
         }Error stacktrace
    javax.servlet.ServletException: org.springframework.web.util.NestedServletException: Handler processing failed; nested exception is java.lang.LinkageError: loader constraint violation: when resolving overridden method "org.apache.cxf.bus.spring.ControlledValidationXmlBeanDefinitionReader.doLoadBeanDefinitions(Lorg/xml/sax/InputSource;Lorg/springframework/core/io/Resource;)I" the class loader (instance of org/apache/catalina/loader/WebappClassLoader) of the current class, org/apache/cxf/bus/spring/ControlledValidationXmlBeanDefinitionReader, and its superclass loader (instance of org/apache/catalina/loader/StandardClassLoader), have different Class objects for the type org/springframework/core/io/Resource used in the signature
    Can someone please help me here, to figure out whats wrong I'm doing or if I' m missing anything which causing this error?
    (Thanks in adv).

    My understanding of exception stack trace is that the two class loader are unable to match the argument type org/springframework/core/io/Resource in original method and its overridden method. And original method class loader and overridden method class loader are different.
    This normally happens due to class clashes.

  • Error while trying to publish a web service in UDDI client

    hi
      i m getting this error when trying to publish my web service in UDDI client.I have
    configured my uddi client using Visual Administrator.I created a  local test registry.The name of my  registry is QuickCarRentalRegistry_Local.I created this at admin level.I also tried at level 1 Tier.But it was giving the same error.
    The error is "<b> Internet Explorer Script Error</b>".my ie version is 7.0
    In my alert window it displays error: 'ur_txt' is undefined.
    Regards
    mythri.

    Hi mythri.
    Did you find a way out of this error? Could you share the solution with me? Because I am facing a problem that looks just like the one you had.
    Thanks in advance.
    Renan

  • Protecting a REST web service with Policy Agent

    I have deployed a REST web service in Glassfish using Jersey Annotations. A UI in the same Glassfish instance is protected by a policy agent that forces users through a login page. I would like to protect the REST web service with BASIC Authentication using the same policy agent. Is this possible? Is there supporting documentation?

    Hi Daniel,
    When you publish a message through Rest, hope your Restful service will receive/process the posted message?
    So
    YourBizTalk -->(Post Message to)-->RestFulService
    From the error message, "the published message could not be routed because no subscribers were found.", it seems like the this Restful service is a
    wrapper (or service interface) for BizTalk at client end( where message has been posted thru Rest) and actual posted message is “processed” by BizTalk and the error "" is from BizTalk "after" Rest. This message says the message you posted
    through rest is not found subscription at their end.
    So
    YourBizTalk -->(Post Message to)-->RestFulService -->Clients'BizTalk.
    Here problem is at Clients'BizTalk as shown where the posted message to their BizTalk is not processed because no subscription has been found.
    If this answers your question please mark it accordingly. If this post is helpful, please vote as helpful by clicking the upward arrow mark next to my reply.

  • Consuming and Providing Web Service with JD Edwards ERP system

    Hi,
    I would like to create web services with c++ or java OR any other easier way .
    I need to use that web services to use in Share point to interact with JD Edwards ERP system .
    Pls Note : Since not having license for JD Edwards, I need to create and call from Sharepoint Web service to JD edwards.
                       and not from JD edwards web service.
    Could anybody guide me in this.
    Thanks in advance.

    I had this error again so I thought I would post my solution:
    The issue is SAP needs to know the certificates being used by the web site being called.  These certificates are automatically installed in your browser but need to be manually installed in SAP.  This is what I did:
    How to find/install new certificates
    Make sure you run Internet Explorer as an Administrator so you can export the certificates
    Go to the web site that SAP is trying to call in Internet Explorer
    Double click on the lock in the address bar
    View certificates
    Find the certificates that are being used
    Tools --> Internet Options --> Content --> Certificates
    Click on the “Trusted Root Certification Authorities” tab
    Find the certificate identified in step iii
    Export as a CER certificate
    Click on the “Intermediate Certification Authorities” tab
    Find the certificate identified in step iii
    Export as a CER certificate
    Go to STRUST in SAP
    Import the Certificates in the “Anonymous” or “Standard” SSL client
    Save
    RESTART the ICM via t-code SMICM  <-- Critical!!!
    Test

  • Web service with attachment

    Hi,
    Could anyone tell me hos to call a web service with the message Payload as an SOAP attachment? I´m calling from WAS 6.20 -> XI -> WS using a client proxy, but i can´t understand how the Payload becomes an attahcment?
    Jakob

    Hi,
    Follow the xi forum thread given below to get some information.
    Re: SOAP to SOAP Scenario with an Attachment
    thanks,
    sasi

  • Trouble Publishing a Web Service in Rich Client

    I have been working on trying to create a web service in Rich Client and keep getting this blank window.I'm not sure what the problem is but one thing that I notice about this window is the Java logo on the top left.I tried uninstalling and downgrading my Java but that didn't help. I currently have Java build 1.6.0_45-b06 installed. My Rich Client version is 12.5.3 with the 1475 build. I believe it is software related because I had a coworker try and us his user name and passowrd on my computer with his administrator account and he was getting this window as well.
    Another problem I am having is getting the Web Services to refresh. There are times when it will just say "Refreshing, please wait...". When I click the refresh button will attempt to refresh for a half a second and then stop.
    Best,
    Ryan

    Hi Ryan,
    Will you please provide the details of BO server version? And for java and software related queries please review your configurations with PAM (Product Availability Matrix) available at SAP marketplace.
    Regards,
    Aashutosh

  • Connect to Secure web service with certificate from SAP EP

    Hi Experts,
    Here is the current situation:
    1. Our business requirement is to connect 3rd party RESTful web service which requires secure connection with private client certificate attached
    2. I've tested in my Java test application and successfully attached private certificate to HttpsURLConection request to the web service and made a connection. No problem at all.
    KeyStore keyStore  = KeyStore.getInstance("PKCS12");
    InputStream inputStream = new FileInputStream("privateKeyCert.p12");
    keyStore.load(inputStream, "myPassword".toCharArray());
    KeyManagerFactory keyManagerFactory = KeyManagerFactory.getInstance(KeyManagerFactory.getDefaultAlgorithm());
    keyManagerFactory.init(keyStore, "myPassword".toCharArray());
    KeyManager[] kms = keyManagerFactory.getKeyManagers();
    SSLContext sslContext = SSLContext.getInstance("SSL");
    sslContext.init(kms, null, new SecureRandom());
    SSLSocketFactory sockFact = sslContext.getSocketFactory();
    URL url = new URL("https://www.thirdpartywebservice.com/testroot/");
    HttpsURLConnection conn = (HttpsURLConnection) url.openConnection();
    conn.setSSLSocketFactory(sockFact);
    conn.setRequestMethod("POST");
    conn.setDoOutput(true);
    conn.setDoInput(true);
    conn.setUseCaches(false);
    conn.setDefaultUseCaches (false);
    conn.setRequestProperty("Content-Type", "text/xml");
    3. Next, I tried to apply my Java application to SAP EP NetWeaver, and found that I have to use SecureConnectionFactory:
    https://help.sap.com/saphelp_nw70ehp1/helpdata/en/e2/71c83edf72e16be10000000a114084/content.htm
    4. So, I modified my Java code for SAP EP:
    KeyStore keyStore  = KeyStore.getInstance("PKCS12");
    InputStream inputStream = this.getClass().getClassLoader().getResourceAsStream("privateKeyCert.p12");
    keyStore.load(inputStream, "myPassword".toCharArray());
    SecureConnectionFactory scFactory = new SecureConnectionFactory(keyStore);
    HttpURLConnection conn = scFactory.createURLConnection("https://www.thirdpartywebservice.com/testroot/");
    conn.setRequestMethod("POST");
    conn.setDoOutput(true);
    conn.setDoInput(true);
    conn.setUseCaches(false);
    conn.setDefaultUseCaches (false);
    conn.setRequestProperty("Content-Type", "text/xml");
    And I'm facing the following error message:
    Exception: java.security.UnrecoverableKeyException: ja
    va.security.GeneralSecurityException: Unable to decrypt private key: javax.crypto.BadPaddingException: Invalid PKCS#5 padding length: 253
    Could you please help me what this error message means?
    Do you think do I need to to do some other configuration to make connection to web service with client certificate?
    This is our first approach. Please help...
    Thank you in advance.

    SunJSSE implement SSL server CertificateRequest in a strict mode, if client failed to find a proper certificate corresponding the server request, it does not guess what's the proper certificate and send to the server. In your case, because there is no intermediate certificate in the client context, so there is no way to make the decision which certificate would be acceptable by server, so client does not send any cert to server. That's why you got a handshaking error.
    I guess your client key store does not contains a full certificate path from the client end-entity certificate to the root CA. Please import the full certificate path into the key store.
    BTW, these approaches should work, but I found no reason why one does not adopt #1:
    1. import the full certification path of client certificate into client key store.
    2. as a workaround, configure the server to send a list including the intermediate certificates;
    3. as a workaround, you will have to customize the client KeyManager if you don't want to or are not able to configure the server to send a list including the intermediate certificates.

Maybe you are looking for