im using ionic view legacy and the http post don't have any problem about it. but when migrating using ionic view pro when doing http post then show error "Respon with status: 0 for URL: null".
This is a part of my config.xml
<access origin="*" subdomain="true" />
<allow-navigation href="*" />
<allow-intent href="http://*/*" />
<allow-intent href="https://*/*" />
<allow-intent href="tel:*" />
<allow-intent href="sms:*" />
<allow-intent href="mailto:*" />
<allow-intent href="geo:*" />
<plugin name="ionic-plugin-keyboard" spec="~2.2.1" />
<plugin name="cordova-plugin-statusbar" spec="2.2.2" />
<plugin name="cordova-plugin-device" spec="1.1.4" />
<plugin name="cordova-plugin-splashscreen" spec="~4.0.1" />
<plugin name="cordova-plugin-ionic" spec="^1.1.9">
<variable name="APP_ID" value="-" />
<variable name="CHANNEL_NAME" value="Master" />
<variable name="UPDATE_METHOD" value="auto" />
</plugin>
<plugin name="cordova-plugin-whitelist" spec="^1.3.1" />
this problem because of CORS so at back end i just add :
/* Allow from any origin */
if (isset($_SERVER['HTTP_ORIGIN'])) {
header("Access-Control-Allow-Origin: {$_SERVER['HTTP_ORIGIN']}");
header('Access-Control-Allow-Credentials: true');
header('Access-Control-Max-Age: 86400');
}
but problem still not solved.
Finally… i solve this problem with change from http to https and check header send. Headher from jwt is my problem, so i change it using post not header.
Related
I am creating add-ins for MS Word for the web as well as offline versions.
When I try to publish it into an office store add-ins it works fine on Word for web and for offline.
When I try to add that same "Publish.xml" file in a Word add-ins it doesn't work for me.
For reference, I attached my "Publish.xml" file here.
Project Type: Word Web Add-in
Target Framework: .Net Framework 4.7.2
Please look into this and give me a response if anyone has an idea on that.
Publish.xml
<?xml version="1.0" encoding="utf-8"?>
<!--Published:70EDFC97-B41D-43C5-B751-7C00AD999804-->
<OfficeApp xsi:type="TaskPaneApp" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.microsoft.com/office/appforoffice/1.1" xmlns:bt="http://schemas.microsoft.com/office/officeappbasictypes/1.0" xmlns:ov="http://schemas.microsoft.com/office/taskpaneappversionoverrides">
<Id>f5456f09-dc5d-4154-b7ef-3594dce33642</Id>
<Version>1.0.0.0</Version>
<ProviderName>Deep</ProviderName>
<DefaultLocale>en-US</DefaultLocale>
<DisplayName DefaultValue="My Office Add-in" />
<Description DefaultValue="A task pane add-in for Word" />
<IconUrl DefaultValue="https://mydomain.azurewebsites.net/Images/Button32x32.png" />
<SupportUrl DefaultValue="MyWebSite" />
<AppDomains>
<AppDomain>AppDomain1</AppDomain>
<AppDomain>AppDomain2</AppDomain>
<AppDomain>AppDomain3</AppDomain>
</AppDomains>
<Hosts>
<Host Name="Document" />
</Hosts>
<DefaultSettings>
<SourceLocation DefaultValue="https://mydomain.azurewebsites.net/Home.html" />
</DefaultSettings>
<Permissions>ReadWriteDocument</Permissions>
<VersionOverrides xmlns="http://schemas.microsoft.com/office/taskpaneappversionoverrides" xsi:type="VersionOverridesV1_0">
<Hosts>
<Host xsi:type="Document">
<DesktopFormFactor>
<GetStarted>
<Title resid="Contoso.GetStarted.Title" />
<Description resid="Contoso.GetStarted.Description" />
<LearnMoreUrl resid="Contoso.GetStarted.LearnMoreUrl" />
</GetStarted>
<ExtensionPoint xsi:type="PrimaryCommandSurface">
<OfficeTab id="TabHome">
<Group id="Contoso.Group1">
<Label resid="Contoso.Group1Label" />
<Icon>
<bt:Image size="16" resid="Contoso.tpicon_16x16" />
<bt:Image size="32" resid="Contoso.tpicon_32x32" />
<bt:Image size="80" resid="Contoso.tpicon_80x80" />
</Icon>
<Control xsi:type="Button" id="Contoso.TaskpaneButton">
<Label resid="Contoso.TaskpaneButton.Label" />
<Supertip>
<Title resid="Contoso.TaskpaneButton.Label" />
<Description resid="Contoso.TaskpaneButton.Tooltip" />
</Supertip>
<Icon>
<bt:Image size="16" resid="Contoso.tpicon_16x16" />
<bt:Image size="32" resid="Contoso.tpicon_32x32" />
<bt:Image size="80" resid="Contoso.tpicon_80x80" />
</Icon>
<Action xsi:type="ShowTaskpane">
<TaskpaneId>ButtonId1</TaskpaneId>
<SourceLocation resid="Contoso.Taskpane.Url" />
</Action>
</Control>
</Group>
</OfficeTab>
</ExtensionPoint>
</DesktopFormFactor>
</Host>
</Hosts>
<Resources>
<bt:Images>
<bt:Image id="Contoso.tpicon_16x16" DefaultValue="https://mydomain.azurewebsites.net/Images/Button16x16.png" />
<bt:Image id="Contoso.tpicon_32x32" DefaultValue="https://mydomain.azurewebsites.net/Images/Button32x32.png" />
<bt:Image id="Contoso.tpicon_80x80" DefaultValue="https://mydomain.azurewebsites.net/Images/Button80x80.png" />
</bt:Images>
<bt:Urls>
<bt:Url id="Contoso.Taskpane.Url" DefaultValue="https://mydomain.azurewebsites.net/Home.html" />
<bt:Url id="Contoso.GetStarted.LearnMoreUrl" DefaultValue="https://go.microsoft.com/fwlink/?LinkId=276812" />
</bt:Urls>
<bt:ShortStrings>
<bt:String id="Contoso.TaskpaneButton.Label" DefaultValue="Show Taskpane" />
<bt:String id="Contoso.Group1Label" DefaultValue="Commands Group" />
<bt:String id="Contoso.GetStarted.Title" DefaultValue="Get started with your sample add-in!" />
</bt:ShortStrings>
<bt:LongStrings>
<bt:String id="Contoso.TaskpaneButton.Tooltip" DefaultValue="Click to Show a Taskpane" />
<bt:String id="Contoso.GetStarted.Description" DefaultValue="Your sample add-in loaded succesfully. Go to the HOME tab and click the 'Show Taskpane' button to get started." />
</bt:LongStrings>
</Resources>
</VersionOverrides>
</OfficeApp>
I am trying to use deep links to external apps like the following :
<Col>
<img src="static/youtube.png" width='35px' alt=""/>
</Col>
<Col>
<img src="static/instagram.png" width='31px' alt=""/>
</Col>
<Col>
<img src="static/twitter.png" width='35px' alt=""/>
</Col>
<Col>
<img src="static/whatsapp.png" width='35px' alt=""/>
</Col>
it's work fine in android but i have the following error in IOS
Failed to load webpage with error: unsupported URL
my config.xml file whitelist
<allow-intent href="whatsapp:*" />
<allow-intent href="instagram:*" />
<allow-intent href="twitter:*" />
<platform name="android">
<allow-intent href="market:*" />
</platform>
<platform name="ios">
<allow-intent href="itms:*" />
<allow-intent href="itms-apps:*" />
<allow-intent href="instagram:*" />
<allow-intent href="twitter:*" />
</platform>
please any advise ..
You can check out this plugin (Custom-URL-scheme)
This plugin allows you to start your app by calling it with a URL like mycoolapp://path?foo=bar
You need to specify the following 2 rules to allow opening other apps by URL:
<access launch-external="yes" origin="whatsapp:*"/>
<allow-intent href="whatsapp:*"/>
Access rule plays role of CSP and controls which network requests (images, XHRs, etc) are allowed to be made to specific domains (via cordova native hooks).
Allow Intent controls which URLs the app is allowed to ask the system to open.
I can't seem to get the pagination settings right for the Qlik REST connector getting data from an OData-source. It's publicly available Dutch statistics (CBS).
An example is: https://opendata.cbs.nl/ODataFeed/odata/37259ned/TypedDataSet
First bit of the response:
<?xml version="1.0" encoding="utf-8"?>
<feed xml:base="http://opendata.cbs.nl/ODataFeed/OData/37259ned" xmlns="http://www.w3.org/2005/Atom" xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices" xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata" xmlns:georss="http://www.georss.org/georss" xmlns:gml="http://www.opengis.net/gml">
<id>https://opendata.cbs.nl/ODataFeed/OData/37259ned/TypedDataSet</id>
<title type="text">TypedDataSet</title>
<updated>2018-06-25T02:00:00+02:00</updated>
<link rel="self" title="TypedDataSet" href="https://opendata.cbs.nl/ODataFeed/OData/37259ned/TypedDataSet" />
<entry>
<id>https://opendata.cbs.nl/ODataFeed/OData/37259ned/TypedDataSet(0)</id>
<category term="Cbs.OData.TData" scheme="http://schemas.microsoft.com/ado/2007/08/dataservices/scheme" />
<link rel="self" href="https://opendata.cbs.nl/ODataFeed/OData/37259ned/TypedDataSet(0)" />
<title />
<updated>2018-06-25T02:00:00+02:00</updated>
<author>
<name />
</author>
<content type="application/xml">
<m:properties>
<d:ID m:type="Edm.Int32">0</d:ID>
<d:Geslacht>T001038</d:Geslacht>
<d:RegioS xml:space="preserve">NL01 </d:RegioS>
<d:Perioden>1960JJ00</d:Perioden>
<d:BevolkingOp1Januari_1 m:type="Edm.Double">11417254</d:BevolkingOp1Januari_1>
<d:LevendGeborenKinderen_2 m:type="Edm.Double">238789</d:LevendGeborenKinderen_2>
<d:LevendGeborenKinderenRelatief_3 m:type="Edm.Double">20.8</d:LevendGeborenKinderenRelatief_3>
<d:Overledenen_4 m:type="Edm.Double">87486</d:Overledenen_4>
<d:OverledenenRelatief_5 m:type="Edm.Double">7.6</d:OverledenenRelatief_5>
<d:Geboorteoverschot_6 m:type="Edm.Double">151303</d:Geboorteoverschot_6>
<d:TotaalVestiging_7 m:type="Edm.Double">551116</d:TotaalVestiging_7>
<d:TotaalVestigingRelatief_8 m:type="Edm.Double">48</d:TotaalVestigingRelatief_8>
<d:Immigratie_9 m:type="Edm.Double">45407</d:Immigratie_9>
<d:UitAndereGemeente_10 m:type="Edm.Double">505709</d:UitAndereGemeente_10>
<d:TotaalVertrekInclusiefCorrecties_11 m:null="true" />
<d:TotaalVertrekInclusiefCoRelatief_12 m:null="true" />
<d:TotaalVertrekExclusiefCorrecties_13 m:type="Edm.Double">564209</d:TotaalVertrekExclusiefCorrecties_13>
<d:TotaalVertrekExclusiefCoRelatief_14 m:type="Edm.Double">49.1</d:TotaalVertrekExclusiefCoRelatief_14>
<d:EmigratieInclusiefAdministratieveC_15 m:null="true" />
<d:EmigratieExclusiefAdministratieveC_16 m:type="Edm.Double">58226</d:EmigratieExclusiefAdministratieveC_16>
<d:NaarAndereGemeente_17 m:type="Edm.Double">505983</d:NaarAndereGemeente_17>
<d:VestigingsoverschotInclusiefCorrecties_18 m:null="true" />
<d:VestigingsoverschotExclusiefCorrecties_19 m:type="Edm.Double">-13093</d:VestigingsoverschotExclusiefCorrecties_19>
<d:TotaalSaldoCorrecties_20 m:type="Edm.Double">544</d:TotaalSaldoCorrecties_20>
<d:SaldoAdministratieveCorrecties_21 m:null="true" />
<d:SaldoOverigeCorrecties_22 m:null="true" />
<d:TotaleGroei_23 m:type="Edm.Double">138754</d:TotaleGroei_23>
<d:TotaleGroeiRelatief_24 m:type="Edm.Double">12.2</d:TotaleGroeiRelatief_24>
<d:BevolkingOp31December_25 m:type="Edm.Double">11556008</d:BevolkingOp31December_25>
</m:properties>
</content>
</entry>
The source gives a maximum of 10000 records per page. I need to get the data on the following page(s) as well.
The last few lines look like this:
</entry>
<link rel="next" href="https://opendata.cbs.nl/ODataFeed/odata/37259ned/TypedDataSet?$skip=10000" />
</feed>
I've tried the sollution in this thread: Qlikview REST connector pagination namespaced XML
However this gives me an unlimited number of records. The data-load does not stop at the last record.
Pagination settings used:
Pagination Type: Next URL
Next URL field path: feed/link/attr:href
Can anybody help me with the settings?
I have the following line in my manifest
<IconUrl DefaultValue="images/icon-32.png"/>
and also
<Host ...>
...
<Control ...>
....
<Icon>
<bt:Image size="16" DefaultValue="images/icon-16.png"/>
<bt:Image size="32" DefaultValue="images/icon-32.png"/>
<bt:Image size="80" DefaultValue="images/icon-80.png"/>
</Icon>
</Control>
</Host>
But when I submit for approval, I am getting the following error from the Office Store Team.
The icon referenced in the IconUrl element of your add-in manifest must be 32x32 pixels in dimension.
And it is referred to the document Validation Policies point 5.10
I have verified the image to be exactly 32x32 px in size in PNG format. While testing the add-in, the icon-32.png is loaded in the Home menu panel
Update
The complete manifest file is added below
<?xml version="1.0" encoding="UTF-8"?>
<OfficeApp
xmlns="http://schemas.microsoft.com/office/appforoffice/1.1"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:bt="http://schemas.microsoft.com/office/officeappbasictypes/1.0"
xmlns:ov="http://schemas.microsoft.com/office/taskpaneappversionoverrides" xsi:type="TaskPaneApp">
<Id>aabbccdd-aabbccdd-aabbccdd-aabbccdd</Id>
<Version>1.0</Version>
<ProviderName>TestAddin</ProviderName>
<DefaultLocale>en-US</DefaultLocale>
<DisplayName DefaultValue="TestAddin" />
<Description DefaultValue="A Test addin"/>
<IconUrl DefaultValue="https://wireframepro.mockflow.com/integrations/office365/images/icon-32.png" />
<SupportUrl DefaultValue="http://tesaddin.local" />
<AppDomains>
<AppDomain>http://tesaddin.local/</AppDomain>
</AppDomains>
<Hosts>
<Host Name="Document" />
</Hosts>
<DefaultSettings>
<SourceLocation DefaultValue="http://tesaddin.local/index.html" />
</DefaultSettings>
<Permissions>ReadWriteDocument</Permissions>
<Requirements>
<Sets DefaultMinVersion="1.1">
<Set Name="WordApi" MinVersion="1.1"/>
</Sets>
</Requirements>
<VersionOverrides
xmlns="http://schemas.microsoft.com/office/taskpaneappversionoverrides" xsi:type="VersionOverridesV1_0">
<Hosts>
<Host xsi:type="Document">
<DesktopFormFactor>
<GetStarted>
<Title resid="ACME.GetStarted.Title"/>
<Description resid="ACME.GetStarted.Description"/>
<LearnMoreUrl resid="ACME.GetStarted.LearnMoreUrl"/>
</GetStarted>
<ExtensionPoint xsi:type="PrimaryCommandSurface">
<OfficeTab id="TabHome">
<Group id="ACME.Group1">
<Label resid="ACME.Group1Label" />
<Icon>
<bt:Image size="16" resid="ACME.tpicon_16x16" />
<bt:Image size="32" resid="ACME.tpicon_32x32" />
<bt:Image size="80" resid="ACME.tpicon_80x80" />
</Icon>
<Control xsi:type="Button" id="ACME.TaskpaneButton">
<Label resid="ACME.TaskpaneButton.Label" />
<Supertip>
<Title resid="ACME.TaskpaneButton.Label" />
<Description resid="ACME.TaskpaneButton.Tooltip" />
</Supertip>
<Icon>
<bt:Image size="16" resid="ACME.tpicon_16x16" />
<bt:Image size="32" resid="ACME.tpicon_32x32" />
<bt:Image size="80" resid="ACME.tpicon_80x80" />
</Icon>
<Action xsi:type="ShowTaskpane">
<TaskpaneId>ButtonId1</TaskpaneId>
<SourceLocation resid="ACME.Taskpane.Url" />
</Action>
</Control>
</Group>
</OfficeTab>
</ExtensionPoint>
</DesktopFormFactor>
</Host>
</Hosts>
<Resources>
<bt:Images>
<bt:Image id="ACME.tpicon_16x16" DefaultValue="https://wireframepro.mockflow.com/integrations/office365/images/icon-16.png" />
<bt:Image id="ACME.tpicon_32x32" DefaultValue="https://wireframepro.mockflow.com/integrations/office365/images/icon-32.png" />
<bt:Image id="ACME.tpicon_80x80" DefaultValue="https://wireframepro.mockflow.com/integrations/office365/images/icon-80.png" />
</bt:Images>
<bt:Urls>
<bt:Url id="ACME.Taskpane.Url" DefaultValue="http://tesaddin.local/index.html" />
<bt:Url id="ACME.GetStarted.LearnMoreUrl" DefaultValue="https://go.microsoft.com/fwlink/?LinkId=276812" />
</bt:Urls>
<bt:ShortStrings>
<bt:String id="ACME.TaskpaneButton.Label" DefaultValue="Open Editor" />
<bt:String id="ACME.Group1Label" DefaultValue="Test Addin" />
<bt:String id="ACME.GetStarted.Title" DefaultValue="Get started with Test Addin" />
</bt:ShortStrings>
<bt:LongStrings>
<bt:String id="ACME.TaskpaneButton.Tooltip" DefaultValue="Open Editor" />
<bt:String id="ACME.GetStarted.Description" DefaultValue="Test add-in has been loaded succesfully. You can access the editor in HOME tab, click Open Editor" />
</bt:LongStrings>
</Resources>
</VersionOverrides>
</OfficeApp>
I confirmed the image referenced in your IconUrl is 32x32. Based on what you've posted, I don't see a problem with your image. I suggest re-submitting and mentioning that you couldn't replicate the icon issue from the previous failure.
There are a couple of issue with your manifest that you should address first:
The requirements element should come immediately after your hosts element. While this shouldn't effect the add-in, it is tripping up the automated validation script. Simply moving it after hosts will eliminate this being incorrectly flagged during manifest validation.
You've got a couple of references to http://tesaddin.local/index.html. Add-ins are required to operate over a secure transport (https). The only URIs in your manifest that should use http are the XML schema references. Given the .local, I assume this is just a standing URL for posting on SO so this may not be an issue in your actual manifest.
I have a REST service. This service need to be work with http and https.
I've tried to add two endpoint in my web.config file. But i get this error when i try to browse my service over http:
Could not find a base address that matches scheme https for the
endpoint with binding WebHttpBinding. Registered base address schemes
are [http].
and i get this error when i try to browse over https:
Could not find a base address that matches scheme http for the endpoint with binding WebHttpBinding. Registered base address schemes are [https].
If i remove one of endpoint from my config file, the both http and https services works fine.
I checked this link: WebHttpBinding with Http and Https
But when i remove endpoints from my config file, the both http and https services runs without any errors on web browser. But when i try to call one of my methods (over a rest client tool) in this service it gets:
500 Internal Server Error.
How can i run this service over http and https without any errors?
My config file is like this:
<system.serviceModel>
<protocolMapping>
<add scheme="http" binding="webHttpBinding" bindingConfiguration="webHttpBinding"/>
<add scheme="https" binding="webHttpBinding" bindingConfiguration="webHttpsBinding"/>
</protocolMapping>
<bindings>
<webHttpBinding>
<binding name="webHttpBinding">
<security mode="None">
<transport clientCredentialType="None" proxyCredentialType="None" />
</security>
</binding>
<binding name="webHttpsBinding">
<security mode="Transport">
<transport clientCredentialType="None" proxyCredentialType="None" />
</security>
</binding>
</webHttpBinding>
</bindings>
<services>
<service name="MyProject.MyService" behaviorConfiguration="serviceBehavior">
<endpoint address="" binding="webHttpBinding" behaviorConfiguration="web" bindingConfiguration="webHttpBinding" contract="MyProject.IMyService" />
<endpoint address="" binding="webHttpBinding" behaviorConfiguration="web" bindingConfiguration="webHttpsBinding" contract="MyProject.IMyService" />
<!--<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />-->
<!--<endpoint address="mex" binding="mexHttpsBinding" contract="IMetadataExchange"/>-->
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="serviceBehavior">
<serviceMetadata httpGetEnabled="true" httpsGetEnabled="true"/>
<serviceDebug includeExceptionDetailInFaults="true"/>
<serviceAuthorization serviceAuthorizationManagerType="MyProject.RestAuthorizationManager, MyProject"/>
</behavior>
</serviceBehaviors>
<endpointBehaviors>
<behavior name="web">
<webHttp/>
</behavior>
</endpointBehaviors>
</behaviors>
<serviceHostingEnvironment multipleSiteBindingsEnabled="true"/>
<system.webServer>
<modules runAllManagedModulesForAllRequests="true"/>
<directoryBrowse enabled="true"/>
</system.webServer>
here is a sample web.config in order to have both http and https support. i hope solve your problem:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<appSettings>
<add key="aspnet:UseTaskFriendlySynchronizationContext" value="true" />
</appSettings>
<system.web>
<compilation debug="true" targetFramework="4.5.2" />
<httpRuntime targetFramework="4.5.2" />
</system.web>
<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding name="SoapBinding" />
</basicHttpBinding>
<basicHttpsBinding>
<binding name="SecureSoapBinding" />
</basicHttpsBinding>
<webHttpBinding>
<binding name="RestBinding" />
<binding name="SecureRestBinding">
<security mode="Transport" />
</binding>
</webHttpBinding>
<mexHttpBinding>
<binding name="MexBinding" />
</mexHttpBinding>
<mexHttpsBinding>
<binding name="SecureMexBinding" />
</mexHttpsBinding>
</bindings>
<client />
<services>
<service behaviorConfiguration="ServiceBehavior" name="Interface.Core">
<endpoint address="soap" binding="basicHttpBinding" bindingConfiguration="SoapBinding" name="Soap" contract="Interface.ICore" />
<endpoint address="soap" binding="basicHttpsBinding" bindingConfiguration="SecureSoapBinding" name="SecureSoap" contract="Interface.ICore" />
<endpoint address="" behaviorConfiguration="Web" binding="webHttpBinding" bindingConfiguration="RestBinding" name="Rest" contract="Interface.ICore" />
<endpoint address="" behaviorConfiguration="Web" binding="webHttpBinding" bindingConfiguration="SecureRestBinding" name="SecureRest" contract="Interface.ICore" />
<endpoint address="mex" binding="mexHttpBinding" bindingConfiguration="MexBinding" name="Mex" contract="IMetadataExchange" />
<endpoint address="mex" binding="mexHttpsBinding" bindingConfiguration="SecureMexBinding" name="SecureMex" contract="IMetadataExchange" />
</service>
</services>
<behaviors>
<endpointBehaviors>
<behavior name="Web">
<webHttp helpEnabled="true" defaultBodyStyle="Bare" defaultOutgoingResponseFormat="Json" automaticFormatSelectionEnabled="true" />
</behavior>
</endpointBehaviors>
<serviceBehaviors>
<behavior name="ServiceBehavior">
<serviceMetadata httpGetEnabled="true" httpsGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="true" />
</behavior>
</serviceBehaviors>
</behaviors>
<protocolMapping>
<add binding="basicHttpsBinding" scheme="https" />
</protocolMapping>
<serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true" />
</system.serviceModel>
<system.webServer>
<modules runAllManagedModulesForAllRequests="true" />
<directoryBrowse enabled="false" />
</system.webServer>
</configuration>