Attemp to build loosely coupled WS using xsd:any & xsd:anyType?

Dear All,
i want to write a loosely coupled web service that allow
the server to evolve independently to the client. (main
purpose is to extend the service by adding more properties
in the request / response message)
i want to achieve the loosely coupled goal by adding
xsd:any or xsd:anyType to the request / response messages
(i.e. wsdl ComplexType). (just follow the normal XML
guideline).
i have try to write simple program with xsd:any (which
mapped to SOAPElement in JAX-RPC). And the result seems
good and can achieve my goal. ( i can consume the service
in java and .net without problem).
but later, i read some article, in the web, (like this: http://www.ibm.com/developerworks/xml/library/ws-tip-xsdcaution.html)
that clams it is better to use xsd:anyType instead of
xsd:any (as anyType is mapped to SOAPElement or java
object if server/client can deserialize it).
as far as i know, the support of xsd:anyType is not standardized / madatory.
could anyone tell me your comment about using xsd:anyType or xsd:any?
how about the support of xsd:anyType across different platform / tools?
xsd:anyAttribute seems not supported by jax-rpc, could you please comment on using this element in the wsdl? good or bad?
oracle will map this element to an oracle proprietary java object.
am i choosing the right way to achieve loosely-coupled WS? any other way?
some article claims to send request as xml doc. but it
seems that is not very convenient to server and client as
both sides need to write code for serialization /
deserialization.
why not use the existing automatic XML <--> java object provided by the jax-rpc standard?
Thank you very much
Message was edited by:
lsp

Hello,
Is your question related to very specific element of your message or for the complete message.
Using any/anyType even if powerful could be sometimes complex for Web Service Client developer to handle since the Java object (SOAPElement or Object) is not typed so doing late binding of schema force people to do the mapping themself any.
So before choosing this in a wide scope on your project think also to its impact for end user/developers, and I think you are on the good path, as you said anyType will recognize the object.
I am inviting you to also look at the Oracle Web Services Interoperability documentation.
and this article from SUN: Interoperability With Patterns and Strategies for Document-Based Web Services
Regards
Tugdual Grall

Similar Messages

  • How to create loosely coupled transaction branches with DBMS_XA ?

    Hello,
    I use DBMS_XA to start several sessions in the same database instance participating a global transactions. The local transaction branches are tightly coupled.
    Do you know a way (Oracle 11.2) for the branches to be loosely coupled by using dbms_xa in one-only instance ?
    Best Regards,
    Gregory

    For non XA datasource create a JDBC Connection with data source class
    oracle.jdbc.pool.OracleDataSource
    For xa datasource create a JDBC connection with data source class
    oracle.jdbc.xa.client.OracleXADataSource

  • Topdown JAVA WS and xsd:anyType

    Hi,
    I am developing a JAVA webservice using the Top-down method.
    I have created the code using the JDeveloper File -> New -> Java Web Service From WSDL
    Part of the reply payload is a general xml message and I have used xsd:anyType in the WSDL
    I have created this code:
    ResponseMessageType resp = new ResponseMessageType();
    ResponseMessageType.Messages msgs = new ResponseMessageType.Messages();
    resp.setMessages(msgs);
    msgs.getMessage().add("<a xmlns=\"eee\"><b></b><c><d>FF</d></c></a>");
    msgs.getMessage().add("<a xmlns=\"eee\"><b></b><c><d>FF22</d></c></a>");
    msgs.getMessage().add("<a xmlns=\"eee\"><b></b><c><d>F333F</d></c></a>");
    return resp;
    This returns a result of:
    <?xml version = '1.0' encoding = 'UTF-8'?>
    <S:Envelope xmlns:S="http://www.w3.org/2003/05/soap-envelope">
    <S:Body>
    <responseMessage xmlns="http://www.ic.ac.uk/dev/RJMTest_JMSSyncQuery_WS">
    <messages>
    <message xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">&amp;lt;a xmlns="eee">&amp;lt;b>&amp;lt;/b>&amp;lt;c>&amp;lt;d>FF&amp;lt;/d>&amp;lt;/c>&amp;lt;/a></message>
    <message xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">&amp;lt;a xmlns="eee">&amp;lt;b>&amp;lt;/b>&amp;lt;c>&amp;lt;d>FF22&amp;lt;/d>&amp;lt;/c>&amp;lt;/a></message>
    <message xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">&amp;lt;a xmlns="eee">&amp;lt;b>&amp;lt;/b>&amp;lt;c>&amp;lt;d>F333F&amp;lt;/d>&amp;lt;/c>&amp;lt;/a></message>
    </messages>
    </responseMessage>
    </S:Body>
    </S:Envelope>
    As you can see this is not quite what I want. It has replaced the < with &lt;
    I need it to return the contents of the string as if it was xml.
    Does anyone know what I am doing wrong?
    Thanks
    Robert
    The full source is below: (Everything else in the project is the autogenerated JDeveloper stuff)
    package uk.ac.ic.devtest.rjmtest_jmssyncquery_ws.ws;
    import javax.jws.WebMethod;
    import javax.jws.WebParam;
    import javax.jws.WebResult;
    import javax.jws.WebService;
    import javax.xml.bind.annotation.XmlSeeAlso;
    import javax.xml.ws.Action;
    import javax.xml.ws.BindingType;
    import javax.xml.ws.soap.SOAPBinding;
    import uk.ac.ic.devtest.rjmtest_jmssyncquery_ws.types.ObjectFactory;
    import uk.ac.ic.devtest.rjmtest_jmssyncquery_ws.types.RequestMessageType;
    import uk.ac.ic.devtest.rjmtest_jmssyncquery_ws.types.ResponseMessageType;
    @WebService(name = "execute_ptt", targetNamespace = "http://xmlns.oracle.com/TIPP_SOA_Tests2/RJMTest_Role3EBS/RJMTest_JMSSyncQuery_WS", serviceName = "mainService", portName = "execute_pttSOAP12BindingPort_pt", wsdlLocation = "/WEB-INF/wsdl/mainService.wsdl")
    @XmlSeeAlso( { ObjectFactory.class })
    @javax.jws.soap.SOAPBinding(style = javax.jws.soap.SOAPBinding.Style.DOCUMENT, parameterStyle = javax.jws.soap.SOAPBinding.ParameterStyle.BARE)
    @BindingType(SOAPBinding.SOAP12HTTP_BINDING)
    public class Execute_pttImpl {
    public Execute_pttImpl() {
    @javax.jws.soap.SOAPBinding(parameterStyle = javax.jws.soap.SOAPBinding.ParameterStyle.BARE)
    @Action(input = "http://xmlns.oracle.com/TIPP_SOA_Tests2/RJMTest_Role3EBS/RJMTest_JMSSyncQuery_WS/QueryQueue", output = "http://xmlns.oracle.com/TIPP_SOA_Tests2/RJMTest_Role3EBS/RJMTest_JMSSyncQuery_WS/execute_ptt/QueryQueueResponse")
    @WebMethod(operationName = "QueryQueue", action = "http://xmlns.oracle.com/TIPP_SOA_Tests2/RJMTest_Role3EBS/RJMTest_JMSSyncQuery_WS/QueryQueue")
    @WebResult(name = "responseMessage", targetNamespace = "http://www.ic.ac.uk/dev/RJMTest_JMSSyncQuery_WS", partName = "part1")
    public ResponseMessageType queryQueue(@WebParam(name = "requestMessage", partName = "part1", targetNamespace = "http://www.ic.ac.uk/dev/RJMTest_JMSSyncQuery_WS")
    RequestMessageType part1) {
    ResponseMessageType resp = new ResponseMessageType();
    ResponseMessageType.Messages msgs = new ResponseMessageType.Messages();
    resp.setMessages(msgs);
    msgs.getMessage().add("<a xmlns=\"eee\"><b></b><c><d>FF</d></c></a>");
    msgs.getMessage().add("<a xmlns=\"eee\"><b></b><c><d>FF22</d></c></a>");
    msgs.getMessage().add("<a xmlns=\"eee\"><b></b><c><d>F333F</d></c></a>");
    return resp;
    }

    This works as designed as per the HTML standard:
    Four character entity references deserve special mention since they are frequently used to escape special characters:
    * "&lt;" represents the < sign.
    * "&gt;" represents the > sign.
    * "&amp;" represents the & sign.
    * "&quot; represents the " mark.
    Authors wishing to put the "<" character in text should use "&lt;" (ASCII decimal 60) to avoid possible confusion with the beginning of a tag (start tag open delimiter). Similarly, authors should use "&gt;" (ASCII decimal 62) in text instead of ">" to avoid problems with older user agents that incorrectly perceive this as the end of a tag (tag close delimiter) when it appears in quoted attribute values.
    Use(Escaped) by <![CDATA[ ]]> or XML entities: &lt; &gt; it should work
    Please refer to the link in the references section regarding these specific characters.
    http://www.w3.org/TR/html4/charset.html
    http://stackoverflow.com/questions/7849666/java-web-service-returns-string-with-gt-and-lt-instead-of-and
    Regards,
    Sunil

  • Using a Singleton Mediator to provide loose coupling

    I need to discuss the pros and cons of using a singleton mediator to provide loose coupling between component implementation classes.
    Suppose you are building a SE or a BC where an endpoint is defined upon a SU deployment. In this scenario, you will end up finding out that the Component, ComponentLifeCycle and ServiceUnitManager implementations should know each others instances. I can figure out these solutions:
    -     Use tight coupling
    -     The component implements the three interfaces (or two of them and associates the third)
    -     Use a singleton mediator to hold the instances
    -     Use a third party solution, like Spring's ApplicationContext and ApplicationContextAware contracts
    -     Some other solution I didn't think of (the scenario has to be more specific)
    Assuming the scenario as described above, I prefer the third solution.
    I appreciate your opinions.
    Hossam Karim

    When you evaluate the JBI implementations available, you will notice that each one has built a less abstraction layer over the JBI component contracts in order to simplify its subsequent tasks. As a component builder, you would either reuse one of these layers and get tight with a specific implementation, or start writing your own.
    I recently proposed a simple framework to my team; you can find a class diagram here (http://www.gaiati.com/products/emee/framework.png), it has the following elements:
    �     AbstractBootstrapAdapter: Simple adapter for the Bootstrap interface
    �     ComponentApplicationContext: Provides a Spring based Application context for this component, the context beans should be loaded upon component initialization. An instance of this class will be available to all classes or interfaces that extend the ApplicationContextAware Spring interface. All classes and interfaces on the previous diagram that associate a ComponentApplicationContext instance (applicationContext) implement the ApplicationContextAware interface. One exception is the AbstractComponentAdapter class, because it actually creates the instance.
    �     AbstractComponentAdapter: Adapter for the component and lifecycle contracts. Upon initialization, this class creates a ComponentApplicationContext instance, and uses the beans to configure itself, the class recognizes other framework contracts and able to communicate with them.
    �     AbstractMessageListener: Consumes this component's DeliveryChannel message exchanges, and fires a handling trigger.
    �     DeployedEndpoint: Represents an endpoint that was deployed using a SU
    �     DeployedEndpointConfiguration: Holds the configuration needed by a DeployedEndpoint instance
    �     DeployedEndpointTarget: Represents the target JBI specific address that a DeployedEndpoint instance should route the messages to.
    �     GenericMessageListener: Handles the trigger fired by the AbstractMessageListener, delegating the work to an instance of the DeployedEndpoint interface
    �     GenericServiceUnitManager: Handles GenericServiceUnit instances
    �     GenericServiceUnit: Acts as a proxy and encapsulates a DeployedEndpoint instance
    �     AbstractDeployedEndpointFactory: An abstract factory for creating DeployedEndpoint instances using DeployedEndpointConfiguration instances
    Yes, I ended up using Spring, and you are right, it might not be appropriate to attempt to separate the interfaces, may be I misunderstood or was mislead by Open-ESB implementation of the SOAP and file binding components.
    It is true sometimes you can have "personal taste", but most important is to achieve best practice.
    Finally, I hope the specification in its next versions, would provide us with a best practice framework or proposal, instead of so much choices.
    Hossam Karim

  • OTD using XSD

    Hi,
    Please let me know, is there any conidtion that only certain structure of
    OTD(created by xsd) can only be used in project.
    The reason to ask this question is, i created a OTD using a xsd file.
    OTD was created successfully, but while building a project it
    persistively gives
    Annotation: Caught Compialtion Error(s)
    Pelase fix before proceeding.
    com.stc.codegen.framework.model.CodeGenException
    When i modified xsd to simpler structure, i was able to build project
    successfully.
    In my project i tried to expose JCD as Webservice[Callable as external 
    soap WebService] . Hence i created two OTDs using XSD for input
    and output messages.
    Then when i tried to build the project i got CodeGenException due to
    compilation errors.
    Please let me know is there any condition that only a particular OTD
    structure only can be used in a project with respect to OTD using XSD .

    Hi,
    Are you loosing encoding.I mean whether special characters are not properly displayed in the output file.
    Are you sure file is not getting stored with UTF-8 encoding.Basically for us we have similar setup, where we set
    output encoding as utf-8, and when we do marshaltostring we don't loose encoding.
    Please let us know how you identified file is not getting stored with encoding utf-8.
    Regards
    Venkatesh.S

  • Loose coupling transport  in PI 7.0

    Hi,
      We are trying to implemet OTO.I am tring to do a loose coupling transport in PI 7.0 from DEV to QUA.  I have created one workbench request in se09 and have exported my IR object. I can see my exported IR object in IR>Tools>Find transports.  But Open transport organiser is disabled. Can anyone tell me why is it disabled and how to resolved it?
    I feel configuration is not proper. Can any one tell me, where the configuration  would  be wrong.
    Please also send me step by step procedures (links) for implementing OTO
    Thanks,
    Arivarasu S.

    Hi,
    PI scenario is just used for XI
    Regards,
    michal

  • In Reply to : How to validate org.jdom.Document object using xsd: dvohra09

    Hi All
    I am creating org.jdom.Document object using constructor Document() and adding children using setRootElement(), setChildren() and addContent() methods. The children are objects of org.jdom.Element. If i want to validate the org.jdom.Document using xsd what i have to do. Thanks in anticipation.

    I tried the below code and it is always giving the
    Parsing fatal error : The markup in the document preceding the root element must be well-formed.
    But it is possible to validate the same Document object as right document after writing it onto xml file using XMLOutputter and parsing it using DOMParser
    Thanks in anticipation
    org.jdom.Document document;
    String documentString=document.toString();
    StringReader stringReader=new
    StringReader(documentString);
    SAXBuilder saxBuilder =new
    SAXBuilder("org.apache.xerces.parsers.SAXParser",true);
    saxBuilder.setFeature("http://xml.org/sax/features/vali
    ation",  true);
    saxBuilder.setFeature("http://apache.org/xml/features/v
    lidation/schema",  true);
    saxBuilder.setFeature("http://apache.org/xml/features/v
    lidation/schema-full-checking", true);
    //Set a error handler with
    setErrorHandler(org.xml.sax.ErrorHandler errorHandler)
    saxBuilder.build(stringReader);

  • Mapping Template : Loosely Coupled or hard Coupled

    Hi All
                I m using mapping template for graphical mappng. I have the following doubts:-
         1. Whether the mapping template is loosely coupled or tight coupled , i mean whether it picks the template at run time or the fields are filled one time only.
         2. If we use the mapping template and afterwards do some changes in the mapping template then whether the changes gets reflected in the mapping program or not?
          3. Can we change some fields of the mapping templates used in the mapping program after impoting that template? ( Here changes means changes in the mapping program )
         Regards
             Amit

    hi,
    >>  Whether the mapping template is loosely coupled or tight coupled , i mean whether it picks the template at run time or the fields are filled one time only.
    i dnt know whether this is a standard term or not but in these terms i think it is " tight" coupled.
    >>  If we use the mapping template and afterwards do some changes in the mapping template then whether the changes gets reflected in the mapping program or not?
    No changes dont get reflected automatically if u change the template after assigning it in a mapping program.
    >> Can we change some fields of the mapping templates used in the mapping program after impoting that template
    It becomes a complete separate mapping program altogether even if u use a template. template is only to save ur time of designing mapping it does not contain references at run time. u can change this mapping program at anytime u want.
    [reward if helpful]
    regards,
    latika.

  • Are WTC transactions loosely coupled?

    Hello,
    I am looking for a confirmation that XA transactions between Tuxedo and WLS (using WTC) are only loosely coupled.
    I cannot find much details on how WTC handles transactions from and to Tuxedo.
    On the Tuxedo side, it is stated clearly that transactions accross domains are loosely coupled. Since Tuxedo and WLS instances are in different domains, I am assuming that transactions between Tuxedo and WLS have the same constraints as Tuxedo inter-domain transactions. Unless WTC were to optimize such transactions.
    The specific challenge we face is as follows (using Tuxedo 10.0, WLS 10.3, Oracle 11g):
    1) A Tuxedo Corba App starts a transaction and does some work.
    2) The Tuxedo Corba App calls an EJB service in WLS.
    3) The EJB service does some work and updates a record in the Oracle DB.
    4) The EJB service returns control to the Tuxedo Corba App.
    5) The Tuxedo Corba App selects the same record that the EJB updated.
    6) The Tuxedo Corba App does some more work, and the commits the transaction.
    The problem is that in step (5) we don't see the update that the EJB made. If we replace the select in step (5) with an update, the update times out because the record is locked. However, the global transaction commits or rolls back correctly on both sides. This indicates that the transaction branches in Tuxedo and WLS are loosely coupled.
    Roger

    Across Tuxedo /Domain the transaction is loosely coupled. WTC is subjected to the same limitation. So you are correct, those XA transactions between Tuxedo and WLS are loosely coupled.

  • Tightly and Loosely coupled scenarios

    Hi Experts,
    Could you please provide a example for Tightly coupled and Loosely coupled scenarios from SAP Platform?
    How to do the below scenarios from SAP platform?
    1. Tightly coupled (Non-SOA):
        Business Services : I have to create RPC encoded style webservices.
        Business Process : I have to call other platform RPC encoded style webservices (More than 2 webservices).
    2. Loosley coupled (SOA):
        Business Service : I have to create Document literal style webserivces
        Business Process : I have to call other platform Document literal style webservices ( More than 2 webservices)
    Please provide the input to do the above scenarios from SAP platform and please inform me which tool/component I have to use do the scenarios.
    Thanks & Regards
    Sara

    Hi Sara,
    Can you please elaborate your question in detail .
    1) Web Services are always examples of loosely couples architecture, either its document style or RPC style and whether you are creating WS or consuming WS.
    Tightly coupled architectures were those whose business logic layer and presentation layer were tightly coupled and reusability or scalability was a problem
    If you have user interfaces involved in your business process, then you should go for CAF( Composite Application Framework) to define a business process using VC, WebDynPro or Adobe Forms as UI.
    If it doesn't involve any user interaction, then you can go for ccBPM of Netweaver-PI to automate the process.
    Regards,
    Piyush

  • Tightly coupled and Loosely coupled scenarios

    Hi Experts,
    Could you please provide a example for Tightly coupled and Loosely coupled scenarios from SAP Platform?
    How to do the below scenarios from SAP platform?
    1. Tightly coupled (Non-SOA):
    Business Services : I have to create RPC encoded style webservices.
    Business Process : I have to call other platform RPC encoded style webservices (More than 2 webservices).
    2. Loosley coupled (SOA):
    Business Service : I have to create Document literal style webserivces
    Business Process : I have to call other platform Document literal style webservices ( More than 2 webservices)
    Please provide the input to do the above scenarios from SAP platform and please inform me which tool/component I have to use do the scenarios.
    Thanks & Regards
    Sara

    Hi Sara,
    Can you please elaborate your question in detail .
    1) Web Services are always examples of loosely couples architecture, either its document style or RPC style and whether you are creating WS or consuming WS.
    Tightly coupled architectures were those whose business logic layer and presentation layer were tightly coupled and reusability or scalability was a problem
    If you have user interfaces involved in your business process, then you should go for CAF( Composite Application Framework) to define a business process using VC, WebDynPro or Adobe Forms as UI.
    If it doesn't involve any user interaction, then you can go for ccBPM of Netweaver-PI to automate the process.
    Regards,
    Piyush

  • Pesky loose coupling question

    Hey guys,
    I have 3 files: main.mxml, registration.mxml, and
    update.mxml. The registration is a custom canvas component with a
    datagrid, and the update is a popup activated by clicking the
    datagrid. I understand how to dispatch custom events, but I'm
    having trouble dispatching from popup back to main.mxml where my
    remote code is located. I can successfully dispatch objects with a
    custom event from reg component to main. What am I doing wrong?
    Should I just add a remote command in the registration component
    and run a function in the registration? Doesn't seem like loose
    coupling to me?

    If your registration component is instantiated in main and
    you dispatch an event that bubbles from registration to main, then
    bubbling works. But forget about bubbling when dispatching an event
    from a popup to any other component. You can do the following:
    If you use a model (with Cairngorm, PureMVC ... or simply
    Singleton), you can have an object in your model that extends
    EventDispatcher and serves as a message target.
    package com.mycompany.core.model
    import flash.events.EventDispatcher;
    // This class only serves as the target for messages that
    concern objects that are not
    // in the display list or that are in the display list but
    cannot be reached by event bubbling
    public class MessageTarget extends EventDispatcher
    public function MessageTarget()
    In your model:
    // Message target
    public var messageTarget:MessageTarget = new
    MessageTarget();
    In any component interested in some messages (e.g column
    visibility) dispatched on the message target :
    // Add event listener for column visibility change
    this.model.messageTarget.addEventListener(ColumnVisibilityChangedEvent.COLUMN_VISIBILITY_ CHANGED,
    this.onColumnVisibilityChanged);
    Then, you can dispatch an event from anywhere that can be
    listened to anywhere:
    // Send Column Visibility Changed event
    this.model.messageTarget.dispatchEvent(
    new
    ColumnVisibilityChangedEvent(ColumnVisibilityChangedEvent.COLUMN_VISIBILITY_CHANGED,
    false, false));

  • Hey guys i was wondering if i could downgrade my iphone 5 from ios 7.1.1 to 7.0.6 or .0.4 i have 7.0.6 and .0.4 shsh blobs but when i try to build a custom ipsw using ifaith it loads and never stop loading is there any way to downgrade to older ios 7 ?

    Hey guys i was wondering if i could downgrade my iphone 5 from ios 7.1.1 to 7.0.6 or .0.4 i have 7.0.6 and .0.4 shsh blobs but when i try to build a custom ipsw using ifaith it loads and never stop loading is there any way to downgrade to older ios 7 ?

    No, you cannot downgrade your iOS device. That's not supported by Apple.

  • Generation of XML using XSD

    I Have to generate XML file using XSD. I have the xsd available with me ,i have the values of elements also,now i need create a xml file using the XSD or DTD, with the values i got from the database.
    Kindly help.

    Create an XML file from XSD file

  • Build a xml editor using swing

    I would like to know a simple way to build a xml editor using swing. The editor should present the xml in a tree structure, THe user should be able to modify the xml in the editor and save it.

    Try reading this from [The XML Tutorial|http://java.sun.com/j2ee/1.4/docs/tutorial/doc/JAXPDOM4.html#wp64247] for discovering how to display the XML tree first, this is the first point to build a XMLNotepad like solution.

Maybe you are looking for

  • Movie Clips in Array

    I am trying ot push attached Movieclips into an Array btnUp.onRelease = function():Void { var grp1:MovieClip = test.attachMovie("Group1", "mcOne", 1); myarray.push(grp1); I think this works. What I am trying to do is that after the user select the mo

  • Changing images via midi parameter

    Does anyone know how you can set a midi device to toggle through images as you press a key. Using this to have many seperate mouths made as .ai files so you press one key the mouth appears open, press this key this mouth or .ai file apears a closed m

  • System compatibilty issues for upgrade from LabVIEW 5.0.1 to latest LabVIEW

    I have inherited an old experimental set up running with Labview 5.0.1 on WindowsNT with NI acquisition hardware (see attached picture for details) and I want to upgrade to the latest LabVIEW version to run on WindowsXP. Before doing the upgrade I ha

  • ICloud Control Panel Problems

    Hi all, I run a Windows 7 Home Premium laptop and two days ago my iCloud email disappeared from Outlook 2011. I opened the iCloud Contol Panel and this is what was shown: Whereas this should be, by all accounts, the Panel that should be viewed: As yo

  • Iphone 5c frequent call failures

    Hi , I have a iphone 5c (Model ME493LL/A - unlocked. Model A 1532 running iOS 8.1.3 Purchased in US and being used in India). In some areas in my offices/home  , I can not make any calls. I See 3-4 bars but I can not send SMS or make calls. But other