Re: problems with apache2 (500 Internal Server Error)
Hi Dinesh: I only put between coments line 422 in source file ~/util/src/utils.c and below apache.conf worked. thanks for your help. while (loop_state) { tmp = strstr(tmp, axis2_request_url_prefix); if (!tmp) { break; } else { service_str = tmp; tmp += axutil_strlen(axis2_request_url_prefix); /*break; stop on first prefix as user may have prefix in service name */ } } I think axis2_request_url_prefix != services. this variable must contain the value of Axis2ServiceURLPrefix. - Original Message From: Dinesh Premalal xydin...@gmail.com To: axis-c-user@ws.apache.org Sent: Monday, January 12, 2009 8:33:35 PM Subject: Re: problems with apache2 (500 Internal Server Error) Hi Atanacio, Atanacio Reyes arey...@yahoo.com writes: Axis2RepoPath /usr/local/axis2c Axis2LogFile /usr/local/axis2c/logs/axis2http.log Axis2LogLevel debug Axis2ServiceURLPrefix / Location /axis SetHandler axis2_module /Location After Axis2/C 1.1 release, there were some more parameters to be defined. I would suggest you to try with them. Please see Axis2/C manual for more details[1]. thanks, Dinesh 1.http://ws.apache.org/axis2/c/docs/axis2c_manual.html#mod_axis2
problems with apache2 (500 Internal Server Error)
Hi: I was using axis2c 1.1 version without problems. But I tried install axis2c 1.5. when I enter the Url: http://localhost/axis in my browser I get the error 500 Internal Server Error, The server encountered an unexpected condition which prevented it from fulfilling the request. the configuration for Apache is the same as axis2c version 1.1 as follow: Axis2RepoPath /usr/local/axis2c Axis2LogFile /usr/local/axis2c/logs/axis2http.log Axis2LogLevel debug Axis2ServiceURLPrefix / Location /axis SetHandler axis2_module /Location last output from axis2http.log: [Mon Jan 12 18:42:23 2009] [debug] class_loader.c(140) /usr/local/axis2c/services/sg_math/libdiv.so shared lib loaded successfully [Mon Jan 12 18:42:23 2009] [debug] class_loader.c(140) /usr/local/axis2c/services/notify/libnotify.so shared lib loaded successfully [Mon Jan 12 18:42:23 2009] [debug] class_loader.c(140) /usr/local/axis2c/services/sg_math/libadd.so shared lib loaded successfully [Mon Jan 12 18:42:23 2009] [debug] class_loader.c(140) /usr/local/axis2c/services/Calculator/libCalculator.so shared lib loaded successfully [Mon Jan 12 18:42:23 2009] [debug] class_loader.c(140) /usr/local/axis2c/services/math/libmath.so shared lib loaded successfully [Mon Jan 12 18:42:23 2009] [debug] class_loader.c(140) /usr/local/axis2c/services/sg_math/libsub.so shared lib loaded successfully [Mon Jan 12 18:42:23 2009] [debug] class_loader.c(140) /usr/local/axis2c/services/mtom/libmtom.so shared lib loaded successfully [Mon Jan 12 18:42:23 2009] [debug] class_loader.c(140) /usr/local/axis2c/services/sg_math/libmul.so shared lib loaded successfully [Mon Jan 12 18:42:23 2009] [debug] class_loader.c(140) /usr/local/axis2c/services/echo/libecho.so shared lib loaded successfully [Mon Jan 12 18:42:23 2009] [info] [Axis2] Axis2 worker created [Mon Jan 12 18:42:29 2009] [debug] apache2_worker.c(199) http://localhost/axis [Mon Jan 12 18:42:29 2009] [debug] apache2_worker.c(229) Client HTTP version HTTP/1.1 output from apache2 error.log: [Mon Jan 12 18:42:23 2009] [notice] Apache/2.2.8 (Ubuntu) Axis2C/1.5.0 configured -- resuming normal operations output from apache2 access.log: 127.0.0.1 - - [12/Jan/2009:18:54:54 -0800] GET /axis HTTP/1.1 500 210 - Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.5) Gecko/2008121621 Ubuntu/8.04 (hardy) Firefox/3.0.5
Re: [Axis2C] Client with xml declaration
I think xml declaration shouldn't be optional, but mandatory, because soap envelope is a xml document. and as xml document can be processed with xslt, ajax, W3C-DOM or another technologies directly in the browser. but this is a discussion for a WS specification group not for axis2c devs. - Original Message From: Senaka Fernando [EMAIL PROTECTED] To: axis-c-user@ws.apache.org Sent: Wednesday, January 16, 2008 9:10:22 PM Subject: Re: [Axis2C] Client with xml declaration Hi Samisa, Atanacio, I see a valid point here in including the xml declaration in the soap_envelope_serialize() method. However, after querying various developers it was decided that the addition of the xml declaration was the responsibility of the authority who does the soap_envelope_serialize() and therefore has been added at transport sender level. Another reason to why we took this approach is the ability for the user to specify in the axis2.xml whether or whether not the xml declaration has to be sent with the SOAP message. I think it is much cleaner. One more reason was the flexibility we gain in interop scenarios which meets the WS-I specification that the xml declaration is optional, when it comes to sending. Regards, Senaka On Thu, 2008-01-17 at 06:09 +0530, Samisa Abeysinghe wrote: Senaka Fernando wrote: Hi Antonio, This might work. But, I don't believe that writing the XML declaration is necessarily a part of axiom_soap_envelope_serialize(). This is because, logically speaking, the XML declaration is not a part of the SOAP envelope. Logically speaking, a SOAP envelope is an XML document. By doing this tweak, you are violating the concept of a SOAP envelope. And, therefore this is not correct according to my personal belief. Devs, please correct me if I've made any mistake. It is nt possible to include this in OM layer, as we cannot afford to keep state of the start point of serialization. That would restrict our ability to serioalize a given node as we wish when we wish. Hence for me, the solution by Atanacio looks fine. Samisa... Regards, Senaka Looking for last minute shopping deals? Find them fast with Yahoo! Search. http://tools.search.yahoo.com/newsearch/category.php?category=shopping - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [Axis2C] Client with xml declaration
in file /axiom/src/soap/soap_envelope.c I only add the line axiom_output_write_xml_version_encoding(om_output, env); to the function axiom_soap_envelope_serialize() /* write the xml version and encoding These should be set to om output before calling the serialize function Otherwise default values will be written */ -axiom_output_write_xml_version_encoding(om_output, env); It work for me but I don't know if it is rigth. - Original Message From: Sébastien Mougey [EMAIL PROTECTED] To: Apache AXIS C User List axis-c-user@ws.apache.org Sent: Wednesday, January 16, 2008 5:16:41 AM Subject: Re: [Axis2C] Client with xml declaration Hi Senaka Thank you ! I'll try it today. Yours De : Senaka Fernando [EMAIL PROTECTED] Répondre à : Apache AXIS C User List axis-c-user@ws.apache.org Date : Wed, 16 Jan 2008 06:50:44 -0500 (EST) À : axis-c-user@ws.apache.org Objet : Re: [Axis2C] Client with xml declaration Hi Sébastien, This is now available on the head. Set parameter name=xml-declaration insert=true/ for the respective transport and run your server/client. Please note that you have to obtain an svn checkout from [1]. Regards, Senaka [1] http://svn.apache.org/repos/asf/webservices/axis2/trunk/c Hi AFAIK, There is a JIRA issue raised against this at [1]. The patch is not yet applied. This feature will be available on the head as soon as the patch is applied. Then, You'll merely have to change a setting in axis2.xml. Please take a look at [1], once it is resolved this feature will be available on the head. [1] https://issues.apache.org/jira/browse/AXIS2C-666 Regards, Senaka Hello I can't find how I could tell Axis2/C in client mode to add a xml declaration to the request. I only want my request to start with : ?xml version=1.0 encoding=UTF-8? Thank you for your help Be a better friend, newshound, and know-it-all with Yahoo! Mobile. Try it now. http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
xml
hi: how to add the proccessing instruction xml version ?xml version='1.0' encoding='utf-8 ? before soap envelope in a server response message. Looking for last minute shopping deals? Find them fast with Yahoo! Search. http://tools.search.yahoo.com/newsearch/category.php?category=shopping - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: new line \n is interpreted as AXIOM_TEXT
Thanks: You are OK. I was confuse because of past axis2c versions and axiscpp '\n' was not taken in count. - Original Message From: Dumindu Pallewela [EMAIL PROTECTED] To: Apache AXIS C User List axis-c-user@ws.apache.org Sent: Monday, November 26, 2007 11:19:12 AM Subject: Re: new line \n is interpreted as AXIOM_TEXT In addition, IIUC, when mixed content xml is used, this is the proper way to handle it. Regards, Dumindu. On Nov 26, 2007 2:46 PM, Kaushalye Kapuruge [EMAIL PROTECTED] wrote: Hi Atanacio, It is necessary to consider \n as an AXIOM TEXT node. For example, in order to canonicalize an XML node, the new line is required to be considered in that way. Do you have a strong reason to claim this behavior is wrong? Cheers, Kaushalye Atanacio Reyes wrote: Hello: If a message like bellow is send to axis2 server, all '\n' (new line) are interpreted as AXIOM_TEXT node. I think this is wrong. param150/param1 param220/param2 /ns1:add example: param150/param1 is AXIOM_ELEMENT AXIOM_TEXT AXIOM_TEXT param120/param1 is AXIOM_ELEMENT AXIOM_TEXT AXIOM_TEXT Get easy, one-click access to your favorites. Make Yahoo! your homepage. http://www.yahoo.com/r/hs - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- http://blog.kaushalye.org/ http://wso2.org/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Dumindu Pallewela http://blog.dumindu.com GPG ID: 0x9E131672 WSO2 | Oxygenating the Web Service Platform | http://wso2.com - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] Get easy, one-click access to your favorites. Make Yahoo! your homepage. http://www.yahoo.com/r/hs - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
new line \n is interpreted as AXIOM_TEXT
Hello: If a message like bellow is send to axis2 server, all '\n' (new line) are interpreted as AXIOM_TEXT node. I think this is wrong. param150/param1 param220/param2 /ns1:add example: param150/param1 is AXIOM_ELEMENT AXIOM_TEXT AXIOM_TEXT param120/param1 is AXIOM_ELEMENT AXIOM_TEXT AXIOM_TEXT Get easy, one-click access to your favorites. Make Yahoo! your homepage. http://www.yahoo.com/r/hs - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Error in source code axis2c version 1.1.0
In source code file axis2c.../src/core/transport/tcp/receiver/simple_tcp_svr_conn.c at line 155 if (str_line) svr_conn-buffer = str_line; I think the source should be: if (*str_line) svr_conn-buffer = str_line; because str_line pointer always is true. Be a better pen pal. Text or chat with friends inside Yahoo! Mail. See how. http://overview.mail.yahoo.com/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [Axis2] soap serialization
This code could work, but if not, you can send te message to http://localhost, without server to answer and use the ~/tools/tcpmon to listen and display the message. I think SOAP headers in SOAP MESSAGE are added in AXIS2_SVC_CLIENT_SEND_RECEIVE( ) function, but I not sure. axiom_xml_writer_t *xml_writer = NULL; axiom_output_t *om_output = NULL; axis2_char_t *buffer = NULL; axis2_op_client_t* op_client; axis2_msg_ctx_t* mgg_ctx; struct axiom_soap_envelope* envelope; op_client = AXIS2_ SVC_CLIENT_GET_OP_CLIENT(svc_client, env); msg_ctx = AXIS2_OP_CLIENT_GET_MSG_CTX( op_client, env, AXIS2_WSDL_MESSAGE_OUT_VALUE); envelope = AXIS2_MSG_CTX_GET_SOAP_ENVELOPE(msg_ctx, env); xml_writer = axiom_xml_writer_create_for_memory(env, NULL, AXIS2_FALSE, AXIS2_FALSE,AXIS2_XML_PARSER_TYPE_BUFFER); om_output = axiom_output_create(env, xml_writer); AXIOM_SOAP_ENVELOPE_SERIALIZE(envelope, env, om_output, false); buffer = (axis2_char_t*)AXIOM_XML_WRITER_GET_XML(xml_writer, env); - Original Message From: George Stanchev [EMAIL PROTECTED] To: Apache AXIS C User List axis-c-user@ws.apache.org Sent: Thursday, March 8, 2007 9:53:11 PM Subject: RE: [Axis2] soap serialization Acttually, let me make sure I understand it correctly. I might have send the thanks a bit too quick. That code snippet seem to serialize an axiom node. What I need is to send the message - thus applying all handler processing involved in creating a SOAP message. What I care in particular is applying all security, addressin and whatever handlers processing a normal send does (for example it should create all the wsse headers). Would the snippet you suggest do this? Best Regards, George -Original Message- From: George Stanchev [mailto:[EMAIL PROTECTED] Sent: Thursday, March 08, 2007 10:45 PM To: Apache AXIS C User List Subject: RE: [Axis2] soap serialization Atanacio, thanks a bunch! Best Regards, George -Original Message- From: Atanacio Reyes [mailto:[EMAIL PROTECTED] Sent: Thursday, March 08, 2007 6:15 PM To: Apache AXIS C User List Subject: Re: [Axis2] soap serialization axiom_xml_writer_t *xml_writer = NULL; axiom_output_t *om_output = NULL; axis2_char_t *buffer = NULL; xml_writer = axiom_xml_writer_create_for_memory(env, NULL, AXIS2_FALSE, AXIS2_FALSE, AXIS2_XML_PARSER_TYPE_BUFFER); om_output = axiom_output_create(env, xml_writer); AXIOM_NODE_SERIALIZE(node, env, om_output); buffer = (axis2_char_t*)AXIOM_XML_WRITER_GET_XML(xml_writer, env); axiom_node_t* node, is the document to serialize; - Original Message From: George Stanchev [EMAIL PROTECTED] To: Apache AXIS C User List axis-c-user@ws.apache.org Sent: Thursday, March 8, 2007 3:15:52 PM Subject: [Axis2] soap serialization Hi, Another, probably basic, question: I need to serialize a SOAP call to a string buffer without sending it anywhere. How do I this with axis2/c? Can you give me some leads? On the java side, I had to go through some hoops to get this - I had to create a dummy transport that I used to reflect back the outbound message when I was doing a call-out serialization. How can I do the same thing in axis2/c? Thanks! George Stanchev 8:00? 8:25? 8:40? Find a flick in no time with the Yahoo! Search movie showtime shortcut. http://tools.search.yahoo.com/shortcuts/#news - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [Axis2] soap serialization
axiom_xml_writer_t *xml_writer = NULL; axiom_output_t *om_output = NULL; axis2_char_t *buffer = NULL; xml_writer = axiom_xml_writer_create_for_memory(env, NULL, AXIS2_FALSE, AXIS2_FALSE, AXIS2_XML_PARSER_TYPE_BUFFER); om_output = axiom_output_create(env, xml_writer); AXIOM_NODE_SERIALIZE(node, env, om_output); buffer = (axis2_char_t*)AXIOM_XML_WRITER_GET_XML(xml_writer, env); axiom_node_t* node, is the document to serialize; - Original Message From: George Stanchev [EMAIL PROTECTED] To: Apache AXIS C User List axis-c-user@ws.apache.org Sent: Thursday, March 8, 2007 3:15:52 PM Subject: [Axis2] soap serialization Hi, Another, probably basic, question: I need to serialize a SOAP call to a string buffer without sending it anywhere. How do I this with axis2/c? Can you give me some leads? On the java side, I had to go through some hoops to get this - I had to create a dummy transport that I used to reflect back the outbound message when I was doing a call-out serialization. How can I do the same thing in axis2/c? Thanks! George Stanchev Now that's room service! Choose from over 150,000 hotels in 45,000 destinations on Yahoo! Travel to find your fit. http://farechase.yahoo.com/promo-generic-14795097 - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: eliminate soapenv:header
Thanks for the support, I let you now, I im not granted to crate a Jira issue, I'm only a simple axis2c user. - Original Message From: Samisa Abeysinghe [EMAIL PROTECTED] To: Apache AXIS C User List axis-c-user@ws.apache.org Sent: Sunday, March 4, 2007 7:55:56 PM Subject: Re: eliminate soapenv:header Atanacio Reyes wrote: Hi all: I have two questions: 1. How I can remove the soapenv:Header tag from the envelope soap message in axis2c? This needs to be fixed in the Axis2/C engine, please raise a Jira on this. 2. How I can add the SOAPAction: someAction in the HTTP header. AXIS2_OPTIONS_SET_SOAP_ACTION(options, env, someAction); Please have a look at samples/user_guide/clients/echo_blocking_soap11.c for a sample. Samisa... thanks. Atanacio Reyes Valenzuela. Don't pick lemons. See all the new 2007 cars at Yahoo! Autos. http://autos.yahoo.com/new_cars.html - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
eliminate soapenv:header
Hi all: I have two questions: 1. How I can remove the soapenv:Header tag from the envelope soap message in axis2c? 2. How I can add the SOAPAction: someAction in the HTTP header. thanks. Atanacio Reyes Valenzuela. Bored stiff? Loosen up... Download and play hundreds of games for free on Yahoo! Games. http://games.yahoo.com/games/front - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Deserialize complex arrays
--- Atanacio Reyes [EMAIL PROTECTED] wrote: Hi. I'm using axis-c-1.6B to build a web service. The client side send the next soap message: POST /axis/Calcot HTTP/1.1 Host: areyes:80 Content-Type: text/xml; charset=UTF-8 SOAPAction: Calcot#contorno Content-Length: 1414 ?xml version='1.0' encoding='utf-8' ? SOAP-ENV:Envelope xmlns:SOAP-ENV=http://schemas.xmlsoap.org/soap/envelope/; xmlns:xsd=http://www.w3.org/2001/XMLSchema; xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance; SOAP-ENV:Body ns1:contorno xmlns:ns1=http://areyes/axis/Calcot; ParamArm xsi:type=ns2:ParamArm xmlns:ns2=http://areyes/axis/Calcot/xsd; Caja xsi:type=ns2:Caja aro xsi:type=xsd:float40/aro vertical xsi:type=xsd:float40/vertical diagonal xsi:type=xsd:float40/diagonal /Caja ns2:forLadoArray xmlns:ns2= xmlns:enc=http://www.w3.org/2001/06/soap-encoding; xmlns:ns2=http://areyes/axis/Calcot/xsd; enc:arrayType=ns2:forLado[2] ParamForma lado xsi:type=xsd:byte68/lado codigob xsi:type=xsd:string2105001131/codigob dpMono xsi:type=xsd:float31/dpMono difDP xsi:type=xsd:float1/difDP Potencia xsi:type=ns2:Potencia esf xsi:type=xsd:float0/esf eje xsi:type=xsd:int15/eje /Potencia /ParamForma ParamForma lado xsi:type=xsd:byte73/lado codigob xsi:type=xsd:string2105001164/codigob dpMono xsi:type=xsd:float31/dpMono difDP xsi:type=xsd:float1/difDP Potencia xsi:type=ns2:Potencia esf xsi:type=xsd:float0/esf eje xsi:type=xsd:int165/eje /Potencia /ParamForma /ns2:forLadoArray puente xsi:type=xsd:float15/puente /ParamArm /ns1:contorno /SOAP-ENV:Body /SOAP-ENV:Envelope in order to deserialize the message the server execute this function: int Axis_DeSerialize_ParamArm(ParamArm* param, IWrapperSoapDeSerializer* pIWSDZ) { param-mman = (Caja*)pIWSDZ-getCmplxObject((void*)Axis_DeSerialize_Caja, (void*)Axis_Create_Caja,(void*)Axis_Delete_Caja, mman, Axis_URI_Type); ParamForma_Array * array0 = new ParamForma_Array(); array0 = (ParamForma_Array *) pIWSDZ-getCmplxArray(array0, (void*)Axis_DeSerialize_ParamForma, (void*)Axis_Create_ParamForma, (void*)Axis_Delete_ParamForma, (void*)Axis_GetSize_ParamForma, forLado,Axis_URI_Type); param-forLado = array0; int size ParamForma** tmp = param-forLado-get(size); xsd__float* p_puente = (pIWSDZ-getElementAsFloat(puente,0)); if(p_puente) param-puente = *p_puente; delete p_puente; return pIWSDZ-getStatus(); } the function getCmplxObject() is ok, but the function param-forLado-get(size), in the size parameter return 0, the functions: (void*)Axis_DeSerialize_ParamForma, (void*)Axis_Create_ParamForma, (void*)Axis_Delete_ParamForma, are not executed. the function getCmplxArray is not deserializing the forLadoArray. the server stop with segmentation fault, executing the function getElementAsFloat(puente,0)); What is wrong in the getCmplxArray() function?, Arguments?, or What is wrong in the soap message? any help is welcome. Atanacio Reyes. I Found the error: the error is in the soap message, the tag: ns2:forLadoArray xmlns:ns2= xmlns:enc=http://www.w3.org/2001/06/soap-encoding; xmlns:ns2=http://areyes/axis/Calcot/xsd; enc:arrayType=ns2:forLado[2] should be: ns2:forLadoArray xmlns:enc=http://www.w3.org/2001/06/soap-encoding; xmlns:ns2=http://areyes/axis/Calcot/xsd; enc:arrayType=ns2:forLado[2] Someone Known how to clear the xmlns:ns2= generated by the function: serializeCmplxArray(); thanks for your help. Atanacio Reyes. __ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com
Known exception
Hi. I'm trying to deploy the calculator example, and on client side, I have the next error. Exception: Cannot deserialize the requested element. the request soap message is: POST /axis/calculator HTTP/1.1 Host: localhost:80 Content-Type: text/xml; charset=UTF-8 SOAPAction: Calculator#add Content-Length: 405 ?xml version='1.0' encoding='utf-8' ? SOAP-ENV:Envelope xmlns:SOAP-ENV=http://schemas.xmlsoap.org/soap/envelope/; xmlns:xsd=http://www.w3.org/2001/XMLSchema; xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance; SOAP-ENV:Body ns1:add xmlns:ns1=http://localhost/axis/Calculator; in0 xsi:type=xsd:int20/in0 in1 xsi:type=xsd:int20/in1 /ns1:add /SOAP-ENV:Body /SOAP-ENV:Envelope And the response from simple_axis_server is: HTTP/1.1 200 OK Server: Apache Axis C++/1.6.a Connection: close Content-Length: 345 Content-Type: text/xml ?xml version='1.0' encoding='utf-8' ? SOAP-ENV:Envelope SOAP-ENV:Body SOAP-ENV:Fault faultcodeSOAP-ENV:Server/faultcode faultstringUnknown exception/faultstring faultactorareyes:80/faultactor detailappSpecificUnknown Exception has occurred/appSpecific /detail /SOAP-ENV:Fault /SOAP-ENV:Body /SOAP-ENV:Envelope __ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com