SCA WCF Integration

2007-10-22 Thread James, Steven
I have a question regarding WCF and SCA integration which I am hoping
someone in this list can give clarity to.

As far as I see it currently a WCF Web service is not part of the
SCADomain. If a composed component had a dependency on a WCF component
could an explicit reference be set to that WCF web service in the SCDL
file? Or is this an internal matter and how we connect and invoke the
WCF component should be encapsulated in our SCA component? 

Regards,

Steve




This e-mail and any attachment is for authorised use by the intended 
recipient(s) only. It may contain proprietary material, confidential 
information and/or be subject to legal privilege. It should not be copied, 
disclosed to, retained or used by, any other party. If you are not an intended 
recipient then please promptly delete this e-mail and any attachment and all 
copies and inform the sender. Thank you.

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: SCA WCF Integration

2007-10-22 Thread Simon Nash

You are correct that in Tuscany currently we don't have any way to
make a WCF Web service part of the SCA domain.

I think there are (at least) two options for how you could do this.

1. Use binding.ws on a SCDL reference to connect from the SCA domain
   to the WCF Web service.  The reference is part of the SCA domain but
   the WCF Web service that it invokes is not part of the SCA domain.

2. Create an SCA service that encapsulates the WCF service, and wire
   to this SCA service in the usual way.  The encapsulating SCA service
   is part of the SCA domain.  It would be possible to create a new
   component implementation type implementation.wcf to specify this
   encapsulation and perform the necessary WCF invocations.

This is a great topic to discuss and I'm sure others will have other
alternatives and opinions on the pros and cons of various approaches.

  Simon

James, Steven wrote:


I have a question regarding WCF and SCA integration which I am hoping
someone in this list can give clarity to.

As far as I see it currently a WCF Web service is not part of the
SCADomain. If a composed component had a dependency on a WCF component
could an explicit reference be set to that WCF web service in the SCDL
file? Or is this an internal matter and how we connect and invoke the
WCF component should be encapsulated in our SCA component? 


Regards,

Steve




This e-mail and any attachment is for authorised use by the intended 
recipient(s) only. It may contain proprietary material, confidential 
information and/or be subject to legal privilege. It should not be copied, 
disclosed to, retained or used by, any other party. If you are not an intended 
recipient then please promptly delete this e-mail and any attachment and all 
copies and inform the sender. Thank you.

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]








-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



RE: SCA WCF Integration

2007-10-22 Thread Anderson, Jeff T (CA - Toronto)
Our client is also very interested in this topic, be very interested in seeing 
how it performed tighter integration, such as being able to declare an intent 
on a wcf service method and use the Tuscany or other SCA policy framework to 
satisfy the intent at runtime.  Just one of many examples, I don't know a lot 
about W.CF but it does seem that the approach is very similar to SCA, so in 
theory, a binding shouldn't necessarily be Uber difficult.
Is anybody else interested in tighter integration up there?
Regards
Jeff



From: Simon Nash [mailto:[EMAIL PROTECTED]
Sent: Mon 2007-10-22 10:33
To: tuscany-user@ws.apache.org
Subject: Re: SCA WCF Integration



You are correct that in Tuscany currently we don't have any way to
make a WCF Web service part of the SCA domain.

I think there are (at least) two options for how you could do this.

1. Use binding.ws on a SCDL reference to connect from the SCA domain
to the WCF Web service.  The reference is part of the SCA domain but
the WCF Web service that it invokes is not part of the SCA domain.

2. Create an SCA service that encapsulates the WCF service, and wire
to this SCA service in the usual way.  The encapsulating SCA service
is part of the SCA domain.  It would be possible to create a new
component implementation type implementation.wcf to specify this
encapsulation and perform the necessary WCF invocations.

This is a great topic to discuss and I'm sure others will have other
alternatives and opinions on the pros and cons of various approaches.

   Simon

James, Steven wrote:

 I have a question regarding WCF and SCA integration which I am hoping
 someone in this list can give clarity to.

 As far as I see it currently a WCF Web service is not part of the
 SCADomain. If a composed component had a dependency on a WCF component
 could an explicit reference be set to that WCF web service in the SCDL
 file? Or is this an internal matter and how we connect and invoke the
 WCF component should be encapsulated in our SCA component?

 Regards,

 Steve




 This e-mail and any attachment is for authorised use by the intended 
 recipient(s) only. It may contain proprietary material, confidential 
 information and/or be subject to legal privilege. It should not be copied, 
 disclosed to, retained or used by, any other party. If you are not an 
 intended recipient then please promptly delete this e-mail and any attachment 
 and all copies and inform the sender. Thank you.

 -
 To unsubscribe, e-mail: [EMAIL PROTECTED]
 For additional commands, e-mail: [EMAIL PROTECTED]







-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]





-
**
Confidentiality Warning: This message and any attachments are
intended only for the use of the intended recipient(s), are
confidential, and may be privileged. If you are not the intended
recipient, you are hereby notified that any review, retransmission,
conversion to hard copy, copying, circulation or other use of this
message and any attachments is strictly prohibited. If you are not
the intended recipient, please notify the sender immediately by
return e-mail, and delete this message and any attachments from
your system. Thank you. 

Information confidentielle: Le présent message, ainsi que tout
fichier qui y est joint, est envoyé à l'intention exclusive de son
ou de ses destinataires; il est de nature confidentielle et peut
constituer une information privilégiée. Nous avertissons toute
personne autre que le destinataire prévu que tout examen,
réacheminement, impression, copie, distribution ou autre
utilisation de ce message et de tout fichier qui y est joint est
strictement interdit. Si vous n'êtes pas le destinataire prévu,
veuillez en aviser immédiatement l'expéditeur par retour de
courriel et supprimer ce message et tout document joint de votre
système. Merci.
**
--===0141311175==--

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Please nominate the bug fixes for Tuscany SCA Java 1.0.1 release

2007-10-22 Thread Raymond Feng

Hi,

As it was originally proposed, we'll do a SCA Java 1.0.1 release using the 
1.0 branch as the base line. The 1.0.1 is intended to be a bug fix release 
and it should contain only non-disruptive changes. The approach we take is 
to pull post-1.0 commits of incremental bug fixes from the trunk and merge 
them into the 1.0.1 branch.


Please start to nominate what fixes should be pulled into this release as 
soon as you can. I created a wiki page at 
http://cwiki.apache.org/confluence/display/TUSCANYWIKI/Desired+bug+fixes+for+SCA+Java+1.0.1+release. I 
would appreciate if you can fill in your desired items there.


We probably need to coordinate the merges once we have the list built by the 
community.


Thanks,
Raymond 



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Why there is no tuscany-binding-jms-1.0-incubating.jar in release apache-tuscany-sca-1.0-incubating.zip

2007-10-22 Thread Jean-Sebastien Delfino
Luciano Resende wrote:
 The following JIRA [1] has some more info on the JMS Binding and it's
 current status.

 [1] https://issues.apache.org/jira/browse/TUSCANY-1789

 On 10/19/07, JunJie Nan [EMAIL PROTECTED] wrote:
   
 $  ls modules/*-binding-*
 modules/tuscany-binding-dwr-1.0-incubating.jar
 modules/tuscany-binding-ejb-1.0-incubating.jar
 modules/tuscany-binding-feed-1.0-incubating.jar
 modules/tuscany-binding-http-1.0-incubating.jar
 modules/tuscany-binding-jsonrpc-1.0-incubating.jar
 modules/tuscany-binding-notification-1.0-incubating.jar
 modules/tuscany-binding-rmi-1.0-incubating.jar
 modules/tuscany-binding-sca-1.0-incubating.jar
 modules/tuscany-binding-sca-axis2-1.0-incubating.jar
 modules/tuscany-binding-sca-xml-1.0-incubating.jar
 modules/tuscany-binding-ws-1.0-incubating.jar
 modules/tuscany-binding-ws-axis2-1.0-incubating.jar
 modules/tuscany-binding-ws-xml-1.0-incubating.jar

 I can not find it on maven2 repository too. Any story?  Thanks!
 --
 Cheers
 Jun Jie Nan
   ∧ ∧��
 ミ^ō^ミ灬)~

 


   

If you want to use the JMS binding now (with its current limitations),
you should be able to build it from the Subversion trunk:
http://svn.apache.org/repos/asf/incubator/tuscany/java/sca/modules/binding-jms/

It should also be in the nightly build at:
http://incubator.apache.org/tuscany/tuscany-downloads-documentations.html

Are you interesting in getting the JMS binding in a release soon?

-- 
Jean-Sebastien


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Please nominate the bug fixes for Tuscany SCA Java 1.0.1 release

2007-10-22 Thread Jean-Sebastien Delfino

Raymond Feng wrote:

Hi,

As it was originally proposed, we'll do a SCA Java 1.0.1 release using 
the 1.0 branch as the base line. The 1.0.1 is intended to be a bug fix 
release and it should contain only non-disruptive changes. The 
approach we take is to pull post-1.0 commits of incremental bug fixes 
from the trunk and merge them into the 1.0.1 branch.


Please start to nominate what fixes should be pulled into this release 
as soon as you can. I created a wiki page at 
http://cwiki.apache.org/confluence/display/TUSCANYWIKI/Desired+bug+fixes+for+SCA+Java+1.0.1+release. 
I would appreciate if you can fill in your desired items there.


We probably need to coordinate the merges once we have the list built 
by the community.


Thanks,
Raymond

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Replying to tuscany-user only to avoid cross posting.

In past releases some of our samples Ant build.xml files had incorrect 
dependencies. I had proposed a Maven plugin [1] to help fix and generate 
them automatically.


I started to work on that plugin yesterday, hoping that it will help 
verify (if not generate) our build.xml files this time. If there's no 
objections I'll put the plugin under modules/maven-ant-generator.


[1] http://marc.info/?l=tuscany-devm=119064381620712

--
Jean-Sebastien


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: throws Exception problem

2007-10-22 Thread Jean-Sebastien Delfino

Hi Nishant,

I just realized that nobody has responded to your email yet. I have a 
few questions about the issue you're seeing.


Nishant Joshi wrote:

About jira 1562 , I have one user defined exception class in same directory
as my impl. and service, now i have generated wsdl on the fly.
but there is a problem with namespace for this exception class


What's the exception class name and what's the generated namespace?


and it was
creating problem when i was creating client in Eclipse.


Are you taking the WSDL generated by Tuscany and using some Eclipse tool 
to generate a (non-Tuscany) Web Services proxy? I'm guessing here so 
feel free to correct me if I guessed wrong :)


Which Eclipse tool? Eclipse WTP or another Web Services tool?


I am using eclipse's
facility to create client for me.
problem was in eclipse MyException.java is resides in abc.xyz.xsd package
while other classes(stub,proxy etc...) which was generated by eclipse is
accessing like abc.xyz.MyException and it was giving me error sign at same
place.
actually MyException was at abc.xyz.xsd, So why other classes has wrong
package name?
Why two packaging structure for one class?
is it make sense?
  


Are you generating the other classes that reference abc.xyz.MyException 
with the same Eclipse tool? or did you write these classes by hand?


Could you list the steps that you're going through, and indicate what 
tool you use when? it'll help us understand your scenario and help 
you... Thanks.


--
Jean-Sebastien


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: adding rubygem as dependency in ruby file

2007-10-22 Thread haleh mahbod
Hi Susanta,

you mentioned  I'm writing a meshup sample using SCA. Here I'm using
one composite written in Ruby which requires rubygem.

would you like to contribute your sample to Tuscany? Good samples are always
helpful to other users.

Thanks,
Haleh

On 9/27/07, Jean-Sebastien Delfino [EMAIL PROTECTED] wrote:

 Susanta Datta wrote:
  Jean, Thanks a lot. I'm writing a meshup sample using SCA. Here I'm
  using one composite written in Ruby which requires rubygem.
 
  regards
  Susanta

 Cool!

 I did a little more testing, as I really wanted to see a Ruby gem in
 action before declaring victory. Here's what I did:

 I installed JRuby 1.0.1.

 From the command line, ran jirb gem install progressbar, the
 progressbar Gem got installed under jruby-install/lib/ruby/gems

 I copied jruby-install/lib/ruby/gems to $HOME/.jruby/lib/ruby/gems.
 I'm running Linux, on Windows the .jruby home directory is probably
 somewhere under Documents And Settings.

 I changed SubtractServiceImpl.rb in the Tuscany calculator-script sample
 as follows:
 require 'rubygems'
 require 'progressbar'

 def subtract(n1, n2)

 bar = ProgressBar.new(Example progress, 50)
 total = 0
 until total = 50
   sleep(rand(2)/2.0)
   increment = (rand(6) + 3)
   bar.inc(increment)
   total += increment
 end
 print \n

 return n1 - n2
 end

 Ran the calculator sample and saw:
 Example progr:  14% |o   | ETA:
 00:00:00
 Example progr:  20% || ETA:
 00:00:02
 Example progr:  36% |oo  | ETA:
 00:00:01
 Example progr:  48% |ooo | ETA:
 00:00:01
 Example progr:  64% |o   | ETA:
 00:00:00
 Example progr:  80% || ETA:
 00:00:00
 Example progr:  96% |oo  | ETA:
 00:00:00
 Example progr: 100% || ETA:
 00:00:00
 3 - 2=1.0

 So I can confirm that Ruby Gems should work if you follow similar steps.

 Let me know how it goes... Thanks.

  - Original Message - From: Jean-Sebastien Delfino
  [EMAIL PROTECTED]
  To: tuscany-user@ws.apache.org
  Sent: Thursday, September 27, 2007 4:44 PM
  Subject: Re: adding rubygem as dependency in ruby file
 
 
  Jean-Sebastien Delfino wrote:
  Susanta Datta wrote:
  Hi, my composite has a ruby implementation. In my Ruby file I
  require rubygems and some other ruby files. How do I set those
  folder and files in my sca java project ? I tried with calculator
  script in eclipse IDE. I works fine but if I add new a require
  rubygems in the .rb file I get an error unknown:19: no such file
  to load -- rubygems (LoadError).
 
  Any idea where and how do I configure Ruby dependencies in the java
  sca project under eclipse?
 
  thanks a lot Susanta
 
 
  I am looking into this. To test what happens with require
  statements I changed one of our scripting samples:
 
 http://svn.apache.org/repos/asf/incubator/tuscany/java/sca/samples/calculator-script/src/main/resources/calculator/SubtractServiceImpl.rb
 
 
  and added a require as follows:
  require 'rexml/document'
  include REXML
 
  def subtract(n1, n2)
 doc = Document.new -eof
   Hello xmlns=http://test;
 nameFoo/name
   /Hello
 eof
 print doc
 return n1 - n2
  end
 
  and it works, I'm getting:
  Hello xmlns='http://test'
   nameFoo/name
  /Hello
  3 - 2=1.0
 
  REXML is part of the jruby distribution. Next, I'm going to try to
  require another .rb file in the same project and will let u know
  what I find.
 
 
  I made a small change to our JRuby integration code to add the path
  to the rubygems hiding inside jruby-complete-1.0.jar to the Jruby
  loadpath. I also made a small change to improve the Exception
  reporting, you should now see the JRuby exception messages.
 
  The changes are available in SVN revision r580145 of the Tuscany
  trunk, see:
 
 http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/implementation-script/src/main/java/org/apache/tuscany/sca/implementation/script/engines/TuscanyJRubyScriptEngine.java?view=diffr1=580144r2=580145pathrev=580145
 
 
  This should allow you to require 'rubygems'.
 
  You may also have to configure your environment as described in the
  JRuby Gotchas section there:
 
 http://www.headius.com/jrubywiki/index.php/Java_Integration#Embedding_with_Bean_Scripting_Framework
 
 
  Why gems are you using? Any Rails by any chance? I think it would be
  really cool to show Rails working with SCA...
 
  Hope this helps.
 
  --
  Jean-Sebastien
 
 
  -
  To unsubscribe, e-mail: [EMAIL PROTECTED]
  For additional commands, e-mail: [EMAIL PROTECTED]
 
 
 
  -
  To unsubscribe, e-mail: [EMAIL PROTECTED]
  For additional 

Re: Tuscany SDO C++ under Windows with MinGW?

2007-10-22 Thread Adriano Crestani
Hi Eike,

I'm not used to MinGW, but there is a new way to build the SDO C++ using
Apache Ant. You may be able to configure it to compile with the compiler you
want to ; )

Adriano Crestani

On 10/8/07, Eike Thaden [EMAIL PROTECTED] wrote:

 Hi,

 is there a way to use Tuscany SDO C++ under Windows with MinGW? We are
 using MinGW frequently in our projects (and Visual Studio not at all)
 and cannot link the SDO dll compiled with the VS compiler because of the
 different ABI.

 Best regards,
 Eike Thaden

 -
 To unsubscribe, e-mail: [EMAIL PROTECTED]
 For additional commands, e-mail: [EMAIL PROTECTED]




Re: Interceptors between services

2007-10-22 Thread haleh mahbod
Hi Deepak,
There is support for policy in SCA release 1.0. Is this what you are
referring to here?

Haleh

On 8/3/07, Deepak Nadig [EMAIL PROTECTED] wrote:


 Hi,

 Are there any plans for an interceptor model between service invocations?
 While the framework does a good job in wiring services into a composite, I
 did not find a good way for applications to intercept calls into/out-of
 services.

 Thanks,

 Deepak





Re: Interceptors between services

2007-10-22 Thread Raymond Feng

Hi,

You need to add an extension to Tuscany and then you can add interceptors as 
follows:


1) Implement the org.apache.tuscany.sca.invocation.Interceptor interface for 
your interceptor


2) Implement org.apache.tuscany.sca.runtime.RuntimeWireProcessor interface

public void process(RuntimeWire wire) {
   ListInvocationChain chains = wire.getInvocationChains();
   for (InvocationChain chain : chains) {
   chain.addInterceptor(...); // Add your interceptor here per 
operation

   }
}

3) Implement org.apache.tuscany.sca.core.ModuleActivator interface and 
register your impl class with 
org.apache.tuscany.sca.runtime.RuntimeWireProcessorExtensionPoint in the 
module activator.


public class YourModuleActivator implements ModuleActivator {
   public void start(ExtensionPointRegistry registry) {
   RuntimeWireProcessorExtensionPoint wireProcessorExtensionPoint = 
registry.getExtensionPoint(RuntimeWireProcessorExtensionPoint.class);

   if (wireProcessorExtensionPoint != null) {
   wireProcessorExtensionPoint.addWireProcessor(new 
YourRuntimeWireProcessor(mediator, dataBindings));

   }
   }

   public void stop(ExtensionPointRegistry registry) {
   }
}

4) Register your module activator in a file named 
META-INF/services/org.apache.tuscany.sca.core.ModuleActivator. The content 
of the file will be the implementation class of your module activator.


The steps are a bit involved. We could simplify the RuntimeWireProcessor 
extensions by allowing registration using 
META-INF/services/org.apache.tuscany.sca.runtime.RuntimeWireProcessor. 
This will be a TODO for our future releases.


Thanks,
Raymond

- Original Message - 
From: haleh mahbod [EMAIL PROTECTED]

To: tuscany-user@ws.apache.org; [EMAIL PROTECTED]
Sent: Monday, October 22, 2007 9:53 PM
Subject: Re: Interceptors between services



Hi Deepak,
There is support for policy in SCA release 1.0. Is this what you are
referring to here?

Haleh

On 8/3/07, Deepak Nadig [EMAIL PROTECTED] wrote:



Hi,

Are there any plans for an interceptor model between service invocations?
While the framework does a good job in wiring services into a composite, 
I

did not find a good way for applications to intercept calls into/out-of
services.

Thanks,

Deepak








-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Handling authentication for non-web services?

2007-10-22 Thread Venkata Krishnan
Hi Jason,

Here are some thoughts for your queries on the policies and enabling
authentication to leverage from an LDAP registry.

- Our Axis2 based WS Binding uses the Apache Rampart module for enabling
security around the web services hosted by our SCA Runtime.  If you look at
the sample helloworld-ws-service-secure and helloworld-ws-reference-secure
it uses simple user id and password based authentication.  There is a
password call back handler in the sample that actually deals with looking up
a userId and password and verifying if it matches.  This handler is probably
the place from where you might need to connect to your LDAP registry to
authenticate. I am not aware of Rampart handlers that can directly go over
to a specified LDAP registry and do this check, hence avoiding the code you
may now have to write in the handler.

On your other issue with sockets, it seems to me that you are wanting to do
that for supporting rich clients.  Though I am not sure if it would fit your
requirement maybe you could take a look at our binding-dwr (binding based on
direct web remoting) and the chat sample that uses this.

- Venkat


On 10/20/07, Jason Clark [EMAIL PROTECTED] wrote:



 -Jason




 

 
 #
 This electronic mail transmission contains confidential information
 intended
 only for the person(s) named. Any use, distribution, copying or disclosure
 by another person is strictly prohibited.

 

 
 #

  -Original Message-
  From: Simon Laws [mailto:[EMAIL PROTECTED]
  Sent: Friday, October 19, 2007 2:21 AM
  To: tuscany-user@ws.apache.org
  Subject: Re: Handling authentication for non-web services?
 
  On 10/19/07, Jason Clark [EMAIL PROTECTED] wrote:
  
   That's a lot of text to scroll through, so I'll just add my comments
 at
   the
   top.
  
   In regards to how the service is selected, this is based on
 information
   within the message. Authentication simply determines if the message is
   allowed to pass on.
 
 
  In regards to the protocol between tomcat and the service, once
   authentication is accepted, the message is simply forwarded to the
   service.
   The service itself handles the entire message parsing.
 
 
  There seem to be some alternatives here then.
 
  Convert the current services to SCA Components and maintain the servlet
  routing component. This would be my first suggestion to get you up and
  running and give you a feel for what Tuscany can do. The servlet of
 course
  needs to talk to the services. This can be done either locally or
 remotely
  using a binding of your choice. So the servlet would need to be modified
  to
  hold references to services in the SCA domain. You can see examples of
  Tuscany running in a web app, for example, calculator-webapp. These
 webapp
  samples don't run as part of the distributed domain yet but I'm looking
 at
  that at the moment.
 
  I don't want to give the impression that I think everything must live
  inside
  of SCA but just thinking aloud about some other things that could be
  done...
 
  Based on what you have said already I'm assuming that you can't change
  your
  clients and that they currently provide the XML message as part of an
 HTTP
  POST.
 
  Construct a gateway component (in place of the servlet) that accepts the
  XML
  over an HTTP binding. The function of the component would be to route
 the
  message to wired components based on the contents of the XML. To make
 this
  work we'd have to fix up binding.http to accept POSTed data.
 

 On the OSOA page, there is a section on bindings that covers ws and jms,
 but
 I have been unable to find documentation on the http, rss, and atom
 bindings. Is there any documentation that outlines the schema for the
 various bindings available?


  I've seen discussions recently about hosting web applications in SCA as
  well
  as the other way round. So in the future the solution maybe that you
 just
  take the servlet you have and deploy that as a component. There's no
  support
  yet though.
 
  Construct a set of policies to handle the LDAP based authentication
  activity
  for binding.http .
 

 I've seen the WS policies sample, but I'm still trying to figure the
 policies system out. If it's not a bother, can you give me a quick example
 on how I would deal with LDAP based authentication for the http binding
 given that user name and pw have been passed in the message?

  If you can change your clients then there are of bindings that could be
  used
  while keeping the same XML message structure.
 
 
  The service interface extends our own general MessageService interface
  which
   has methods for receiving text messages it will have to parse as well
 as
  a