Define permission dont work in lifeary 7.1 - liferay

Hi have 2 entity and 1 portlet:
Entity 1: Autore
Entity 2: Opera
Portlet: BibliotecaWebPortlet
I have create a default.xml for the portlet in resource>resource-action :
<?xml version="1.0"?>
<!DOCTYPE resource-action-mapping PUBLIC "-//Liferay//DTD Resource Action Mapping 7.1.0//EN" "http://www.liferay.com/dtd/liferay-resource-action-mapping_7_1_0.dtd">
<resource-action-mapping>
<portlet-resource>
<portlet-name>it_cloudtec_biblioteca_portlet_BibliotecaWebPortlet</portlet-name>
<permissions>
<supports>
<action-key>AGGIUNGI_AL_TEMPLATE</action-key>
<action-key>CONFIGURAZIONE</action-key>
<action-key>VISUALIZZA</action-key>
</supports>
<site-member-defaults>
<action-key>VISUALIZZA</action-key>
</site-member-defaults>
<guest-defaults>
<action-key>VISUALIZZA</action-key>
</guest-defaults>
<guest-unsupported>
<action-key>AGGIUNGI_AL_TEMPLATE</action-key>
<action-key>CONFIGURAZIONE</action-key>
</guest-unsupported>
</permissions>
</portlet-resource>
</resource-action-mapping>
(Portlet name is correct)
i have created default.xml for service in resource>resource-action:
<?xml version="1.0"?>
<!DOCTYPE resource-action-mapping PUBLIC "-//Liferay//DTD Resource Action Mapping 7.1.0//EN" "http://www.liferay.com/dtd/liferay-resource-action-mapping_7_1_0.dtd">
<resource-action-mapping><model-resource>
<model-name>it.cloudtec.biblioteca</model-name>
<portlet-ref>
<portlet-name>it_cloudtec_biblioteca_portlet_BibliotecaWebPortlet</portlet-name>
</portlet-ref>
<root>true</root>
<weight>1</weight>
<permissions>
<supports>
<action-key>AGGIUNGI</action-key>
</supports>
<site-member-defaults>
</site-member-defaults>
<guest-defaults />
<guest-unsupported>
</guest-unsupported>
</permissions>
</model-resource><model-resource>
<model-name>it.cloudtec.biblioteca.model.Autore</model-name>
<portlet-ref>
<portlet-name>it_cloudtec_biblioteca_portlet_BibliotecaWebPortlet</portlet-name>
</portlet-ref>
<weight>2</weight>
<permissions>
<supports>
<action-key>AGGIUNGI_AUTORE</action-key>
<action-key>CANCELLA_AUTORE</action-key>
<action-key>AGGIORNA_AUTORE</action-key>
<action-key>VISUALIZZA_LISTA_AUTORI</action-key>
</supports>
<site-member-defaults>
<action-key>VISUALIZZA_LISTA_AUTORI</action-key>
</site-member-defaults>
<guest-defaults>
<action-key>VISUALIZZA_LISTA_AUTORI</action-key>
</guest-defaults>
<guest-unsupported>
<action-key>AGGIUNGI_AUTORE</action-key>
<action-key>CANCELLA_AUTORE</action-key>
<action-key>AGGIORNA_AUTORE</action-key>
</guest-unsupported>
</permissions>
</model-resource>
</resource-action-mapping>
Why dont show the action key in control panel? (Website > user > role s > select my custom role > define permission > site administration > application >BibliotecaWebApp)
​​​​​​​I view only default's keys. > Add to Page - Configuration - Permissions - Preferences portlet.properties is present in portlet and service modules.

Related

Properly encode URL for Webtest configuration XML with Terraform on Azure

I'm trying to setup a azurerm_application_insights_web_test with Terraform. Currently having issues with the Url parameter in the configuration WebTest XML.
I'm just not figuring out how I'd have to properly encode the string. For "simple" URLs, it's no problem. But what about eg. https://a.skwar.me/example=yes? The problem is with the "=" (equal) sign in the URL.
If I set Url="https://a.skwar.me/example=yes" in the XML, terraform apply fails:
2021-12-03T08:32:47.4173868Z Error: creating/updating Application Insights Web Test: (Name "dummy3aaiwt" / Resource Group "SharedienDevopsTesting"): insights.WebTestsClient#CreateOrUpdate: Failure responding to request: StatusCode=400 -- Original Error: autorest/azure: Service returned an error. Status=400 Code="BadRequest" Message="Specified argument was out of the range of valid values.\r\nParameter name: Web test 'dummy3aaiwt' is invalid. Ensure it is a well formed XML and that it adheres to the web test schema. Technical error: '=' is an unexpected token. The expected token is ';'. Line 23, position 33." InnerError={"diagnosticcontext":"6a6fb5be-fba9-4110-be6a-beffd2a44ef1","time":"2021-12-03T08:32:47.3359710Z"}
Note: Technical error: '=' is an unexpected token. The expected token is ';'
I tried to simply urlencode() the whole URL. Apply works, but no tests are being done. If I go Azure Portal, I see that the parameter hasn't been decoded; ie. I see https%3A%2F%2Fa.skwar.me%2Fexample%3Dyes. I also cannot save the test, as the URL is invalid (… d'oh!)
I've got this:
resource "azurerm_application_insights_web_test" "dummy3" {
name = "dummy3aaiwt"
location = local.ai_this.location
resource_group_name = local.ai_this.resource_group_name
application_insights_id = local.ai_this.id
kind = "ping"
frequency = 900
timeout = 120
enabled = true
retry_enabled = true
geo_locations = split(",", local.test_locations)
configuration = <<XML
<WebTest
Name="abcdefXML"
Id="${random_uuid.dummy.result}"
Enabled="True"
CssProjectStructure=""
CssIteration=""
Timeout="120"
WorkItemIds=""
xmlns="http://microsoft.com/schemas/VisualStudio/TeamTest/2010"
Description=""
CredentialUserName=""
CredentialPassword=""
PreAuthenticate="True"
Proxy="default"
StopOnError="False"
RecordedResultFile=""
ResultsLocale="">
<Items>
<Request
Method="GET"
Guid="${random_uuid.dummy2.result}"
Version="1.1"
Url="${urlencode("https://a.skwar.me/some-exampe?foo=bar")}"
ThinkTime="0"
Timeout="120"
ParseDependentRequests="False"
FollowRedirects="True"
RecordResult="True"
Cache="False"
ResponseTimeGoal="0"
Encoding="utf-8"
ExpectedHttpStatusCode="302"
ExpectedResponseUrl=""
ReportingName=""
IgnoreHttpStatusCode="False" />
</Items>
</WebTest>
XML
}
Using Terraform Version 1.0.11 and provider registry.terraform.io/hashicorp/azurerm v2.86.0 , if I try to use urlencode in the url parameter then I am also facing the same issue that you see in portal as below:
But directly providing the URL using the below code succeeds and URL is also correctly defined in portal and can be saved as well.
resource "azurerm_application_insights_web_test" "example" {
name = "tf-test-appinsights-webtest"
location = data.azurerm_application_insights.example.location
resource_group_name = data.azurerm_application_insights.example.resource_group_name
application_insights_id = data.azurerm_application_insights.example.id
kind = "ping"
frequency = 300
timeout = 60
enabled = true
geo_locations = ["us-ca-sjc-azr", "us-va-ash-azr"]
configuration = <<XML
<WebTest
Name="WebTest1"
Id="ABD48585-0831-40CB-9069-682EA6BB3583"
Enabled="True"
CssProjectStructure=""
CssIteration=""
Timeout="120"
WorkItemIds=""
xmlns="http://microsoft.com/schemas/VisualStudio/TeamTest/2010"
Description=""
CredentialUserName=""
CredentialPassword=""
PreAuthenticate="True"
Proxy="default"
StopOnError="False"
RecordedResultFile=""
ResultsLocale="">
<Items>
<Request
Method="GET"
Guid="a5f10126-e4cd-570d-961c-cea43999a200"
Version="1.1"
Url="https://a.skwar.me/some-exampe?foo=bar"
ThinkTime="0"
Timeout="300"
ParseDependentRequests="False"
FollowRedirects="True"
RecordResult="True"
Cache="False"
ResponseTimeGoal="0"
Encoding="utf-8"
ExpectedHttpStatusCode="302"
ExpectedResponseUrl=""
ReportingName=""
IgnoreHttpStatusCode="False" />
</Items>
</WebTest>
XML
}
Output:

How to resolve Manifest merger Failed error

I am getting manifest merger failed error when i add elegeant number button library to my gradle files.
Manifest merger failed : Attribute application#icon
value=(#mipmap/app_logoo) from AndroidManifest.xml:20:9-41 is also
present at [com.cepheuen.elegant-number-button:lib:1.0.3]
AndroidManifest.xml:13:9-43 value=(#mipmap/ic_launcher). Suggestion:
add 'tools:replace="android:icon"' to element at
AndroidManifest.xml:18:5-56:19 to override.
I have tried adding all the versions of this library but none works
As the suggestion in error says, you need to add tools:replace="android:icon" to your AndroidManifest.xml. tools:replace means you want to replace the attribute value with your current attribute value in the AndroidManifest.xml.
You can do it something like this:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="com.example.yourapp">
<application
android:name=".YourApp"
android:icon="#mipmap/ic_launcher"
android:label="#string/app_name"
tools:replace="android:icon">
<!-- code omitted here -->
</application>
</manifest>
NOTE : Add this to your build.gradle and make sure you are using the same versions as '26.0.2' -
configurations.all {
resolutionStrategy.eachDependency {
DependencyResolveDetails details ->
def requested = details.requested
if (requested.group == 'com.android.support') {
if (!requested.name.startsWith("multidex")) {
details.useVersion '26.0.2'
}
}
}
}

Cannot update Azure Deployment when it is using Reserved IPs

I’m trying to install a diagnostic extension via API into an existing Azure cloud service. Cloud Service has a reserved IP assigned. I’m getting “A reserved IP cannot be added, removed or changed during deployment update or upgrade.” when doing so using ChangeConfigurationBySlot. Does anyone know the trick to get this to work? Is this a miss in the API or am I doing something wrong?
Here’s a relevant code snippet:
var dep = client.Deployments.GetBySlot(resource.ServiceName, DeploymentSlot.Production);
var serviceConfig = XElement.Parse(dep.Configuration, LoadOptions.SetBaseUri);
var config = new DeploymentChangeConfigurationParameters(serviceConfig.ToString())
{
ExtendedProperties = dep.ExtendedProperties,
Mode = DeploymentChangeConfigurationMode.Auto,
TreatWarningsAsError = false,
Configuration = serviceConfig.ToString(),
ExtensionConfiguration = new ExtensionConfiguration
{
AllRoles = new List<ExtensionConfiguration.Extension>(),
NamedRoles = extensionConfig
}
};
var result = client.Deployments.ChangeConfigurationBySlot(resource.ServiceName, DeploymentSlot.Production, config);
Here is the relevant section from cloud service config
<ServiceConfiguration xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" serviceName="IS.Admin.Azure" osFamily="4" osVersion="*" schemaVersion="2014-06.2.4" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceConfiguration">
<Role name="IS.Admin">
…
</Role>
<NetworkConfiguration>
<VirtualNetworkSite name="is-prod" />
<AddressAssignments>
<InstanceAddress roleName="IS.Admin">
<Subnets>
<Subnet name="Subnet-1" />
</Subnets>
</InstanceAddress>
<ReservedIPs>
<ReservedIP name="is-admin-rip" />
</ReservedIPs>
</AddressAssignments>
</NetworkConfiguration>
</ServiceConfiguration>
My update has nothing to do with changing/removing/adding Reserved IPs. Any ideas as to how to update the service config?
Try deploying to staging and doing a vip swap. The reserved ips are sticky to the slot, so it shouldn't interfere with your IPs in prod.

An error occurs when I try to deploy jbpm-console.war on wildfly.8.1.0.Final (install.demo.noeclipse)

I'm trying to change the "default" workbench security domain (other) but I have some problems. I modified all the standalone.xml files adding a new security domain called "myDomain" and deleting "other" security domain
<security-domains>
<security-domain name="myDomain" cache-type="default">
<authentication>
<login-module code="UsersRoles" flag="required">
<module-option name="usersProperties" value="${jboss.server.config.dir}/users.properties"/>
<module-option name="rolesProperties" value="${jboss.server.config.dir}/roles.properties"/>
</login-module>
</authentication>
</security-domain>
<security-domain name="jboss-web-policy" cache-type="default">
<authorization>
<policy-module code="Delegating" flag="required"/>
</authorization>
</security-domain>
<security-domain name="jboss-ejb-policy" cache-type="default">
<authorization>
<policy-module code="Delegating" flag="required"/>
</authorization>
</security-domain>
</security-domains>
And I modified the jboss-web.xml (on the jbpm-console)
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE jboss-web PUBLIC
"-//JBoss//DTD Web Application 2.4//EN"
"http://www.jboss.org/j2ee/dtd/jboss-web_4_2.dtd">
<jboss-web>
<security-domain>myDomain</security-domain>
</jboss-web>
But when I try to deploy the jbpm-console.war an error occurs:
"{
\"JBAS014771: Services with missing/unavailable dependencies\" => [
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.JMSAuditProcessor.CREATE is missing [jboss.ra.hornetq-ra]\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.KieSessionRequesMessageBean.CREATE is missing [jboss.ra.hornetq-ra]\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.TaskServiceRequesMessageBean.CREATE is missing [jboss.ra.hornetq-ra]\",
\"jboss.naming.context.java.module.jbpm-console.jbpm-console.DefaultJMSConnectionFactory is missing [jboss.naming.context.java.jboss.DefaultJMSConnectionFactory]\",
\"jboss.naming.context.java.module.jbpm-console.jbpm-console.env.\\\"org.kie.remote.services.jms.RequestMessageBean\\\".factory is missing [jboss.naming.context.java.JmsXA]\"
],
\"JBAS014879: One or more services were unable to start due to one or more indirect dependencies not being available.\" => {
\"Services that were unable to start:\" => [
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".CdiValidatorFactoryService\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".WeldStartService\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.AlternativeStarterBean.START\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.AlternativeStarterBean.WeldInstantiator\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.AlternativeStarterBean.WeldInterceptorBindingsService\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.AvailableJobsExecutor.START\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.AvailableJobsExecutor.WeldInstantiator\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.AvailableJobsExecutor.WeldInterceptorBindingsService\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.CommandWebService.START\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.CommandWebService.WeldInstantiator\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.ConfigServiceWatchServiceExecutorImpl.START\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.ConfigServiceWatchServiceExecutorImpl.WeldInstantiator\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.ConfigServiceWatchServiceExecutorImpl.WeldInterceptorBindingsService\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.\\\"org.apache.taglibs.standard.tag.rt.core.ForEachTag\\\".WeldInstantiator\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.\\\"org.apache.taglibs.standard.tag.rt.core.ForTokensTag\\\".START\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.\\\"org.apache.taglibs.standard.tag.rt.core.ForTokensTag\\\".WeldInstantiator\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.\\\"org.apache.taglibs.standard.tag.rt.core.IfTag\\\".START\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.\\\"org.apache.taglibs.standard.tag.rt.core.IfTag\\\".WeldInstantiator\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.\\\"org.apache.taglibs.standard.tag.rt.core.ImportTag\\\".START\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.\\\"org.apache.taglibs.standard.tag.rt.core.ImportTag\\\".WeldInstantiator\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.\\\"org.apache.taglibs.standard.tag.rt.core.OutTag\\\".START\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.\\\"org.apache.taglibs.standard.tag.rt.core.OutTag\\\".WeldInstantiator\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.\\\"org.apache.taglibs.standard.tag.rt.core.ParamTag\\\".START\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.\\\"org.apache.taglibs.standard.tag.rt.core.ParamTag\\\".WeldInstantiator\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.\\\"org.apache.taglibs.standard.tag.rt.core.RedirectTag\\\".START\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.\\\"org.apache.taglibs.standard.tag.rt.core.RedirectTag\\\".WeldInstantiator\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.\\\"org.apache.taglibs.standard.tag.rt.core.SetTag\\\".START\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.\\\"org.apache.taglibs.standard.tag.rt.core.SetTag\\\".WeldInstantiator\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.\\\"org.apache.taglibs.standard.tag.rt.core.UrlTag\\\".START\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.\\\"org.apache.taglibs.standard.tag.rt.core.UrlTag\\\".WeldInstantiator\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.\\\"org.apache.taglibs.standard.tag.rt.core.WhenTag\\\".START\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.\\\"org.apache.taglibs.standard.tag.rt.core.WhenTag\\\".WeldInstantiator\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.\\\"org.apache.taglibs.standard.tag.rt.fmt.BundleTag\\\".START\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.\\\"org.apache.taglibs.standard.tag.rt.fmt.BundleTag\\\".WeldInstantiator\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.\\\"org.apache.taglibs.standard.tag.rt.fmt.FormatDateTag\\\".START\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.\\\"org.apache.taglibs.standard.tag.rt.fmt.FormatDateTag\\\".WeldInstantiator\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.\\\"org.apache.taglibs.standard.tag.rt.fmt.FormatNumberTag\\\".START\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.\\\"org.apache.taglibs.standard.tag.rt.fmt.FormatNumberTag\\\".WeldInstantiator\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.\\\"org.apache.taglibs.standard.tag.rt.fmt.MessageTag\\\".START\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.\\\"org.apache.taglibs.standard.tag.rt.fmt.MessageTag\\\".WeldInstantiator\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.\\\"org.apache.taglibs.standard.tag.rt.fmt.ParamTag\\\".START\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.\\\"org.apache.taglibs.standard.tag.rt.fmt.ParamTag\\\".WeldInstantiator\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.\\\"org.apache.taglibs.standard.tag.rt.fmt.ParseDateTag\\\".START\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.\\\"org.apache.taglibs.standard.tag.rt.fmt.ParseDateTag\\\".WeldInstantiator\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.\\\"org.apache.taglibs.standard.tag.rt.fmt.ParseNumberTag\\\".START\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.\\\"org.apache.taglibs.standard.tag.rt.fmt.ParseNumberTag\\\".WeldInstantiator\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.\\\"org.apache.taglibs.standard.tag.rt.fmt.RequestEncodingTag\\\".START\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.\\\"org.apache.taglibs.standard.tag.rt.fmt.RequestEncodingTag\\\".WeldInstantiator\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.\\\"org.apache.taglibs.standard.tag.rt.fmt.SetBundleTag\\\".START\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.\\\"org.apache.taglibs.standard.tag.rt.fmt.SetBundleTag\\\".WeldInstantiator\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.\\\"org.apache.taglibs.standard.tag.rt.fmt.SetLocaleTag\\\".START\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.\\\"org.apache.taglibs.standard.tag.rt.fmt.SetLocaleTag\\\".WeldInstantiator\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.\\\"org.apache.taglibs.standard.tag.rt.fmt.SetTimeZoneTag\\\".START\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.\\\"org.apache.taglibs.standard.tag.rt.fmt.SetTimeZoneTag\\\".WeldInstantiator\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.\\\"org.apache.taglibs.standard.tag.rt.fmt.TimeZoneTag\\\".START\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.\\\"org.apache.taglibs.standard.tag.rt.fmt.TimeZoneTag\\\".WeldInstantiator\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.\\\"org.apache.taglibs.standard.tag.rt.sql.DateParamTag\\\".START\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.\\\"org.apache.taglibs.standard.tag.rt.sql.DateParamTag\\\".WeldInstantiator\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.\\\"org.apache.taglibs.standard.tag.rt.sql.ParamTag\\\".START\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.\\\"org.apache.taglibs.standard.tag.rt.sql.ParamTag\\\".WeldInstantiator\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.\\\"org.apache.taglibs.standard.tag.rt.sql.QueryTag\\\".START\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.\\\"org.apache.taglibs.standard.tag.rt.sql.QueryTag\\\".WeldInstantiator\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.\\\"org.apache.taglibs.standard.tag.rt.sql.SetDataSourceTag\\\".START\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.\\\"org.apache.taglibs.standard.tag.rt.sql.SetDataSourceTag\\\".WeldInstantiator\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.\\\"org.apache.taglibs.standard.tag.rt.sql.TransactionTag\\\".START\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.\\\"org.apache.taglibs.standard.tag.rt.sql.TransactionTag\\\".WeldInstantiator\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.\\\"org.apache.taglibs.standard.tag.rt.sql.UpdateTag\\\".START\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.\\\"org.apache.taglibs.standard.tag.rt.sql.UpdateTag\\\".WeldInstantiator\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.\\\"org.apache.taglibs.standard.tag.rt.xml.ExprTag\\\".START\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.\\\"org.apache.taglibs.standard.tag.rt.xml.ExprTag\\\".WeldInstantiator\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.\\\"org.apache.taglibs.standard.tag.rt.xml.ParamTag\\\".START\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.\\\"org.apache.taglibs.standard.tag.rt.xml.ParamTag\\\".WeldInstantiator\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.\\\"org.apache.taglibs.standard.tag.rt.xml.ParseTag\\\".START\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.\\\"org.apache.taglibs.standard.tag.rt.xml.ParseTag\\\".WeldInstantiator\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.\\\"org.apache.taglibs.standard.tag.rt.xml.TransformTag\\\".START\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.\\\"org.apache.taglibs.standard.tag.rt.xml.TransformTag\\\".WeldInstantiator\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.\\\"org.apache.taglibs.standard.tlv.JstlCoreTLV\\\".START\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.\\\"org.apache.taglibs.standard.tlv.JstlCoreTLV\\\".WeldInstantiator\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.\\\"org.apache.taglibs.standard.tlv.JstlFmtTLV\\\".START\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.\\\"org.apache.taglibs.standard.tlv.JstlFmtTLV\\\".WeldInstantiator\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.\\\"org.apache.taglibs.standard.tlv.JstlSqlTLV\\\".START\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.\\\"org.apache.taglibs.standard.tlv.JstlSqlTLV\\\".WeldInstantiator\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.\\\"org.apache.taglibs.standard.tlv.JstlXmlTLV\\\".START\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.\\\"org.apache.taglibs.standard.tlv.JstlXmlTLV\\\".WeldInstantiator\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.\\\"org.drools.workbench.screens.dtablexls.backend.server.DecisionTableXLSFileServlet\\\".START\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.\\\"org.drools.workbench.screens.dtablexls.backend.server.DecisionTableXLSFileServlet\\\".WeldInstantiator\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.\\\"org.drools.workbench.screens.scorecardxls.backend.server.ScoreCardXLSFileServlet\\\".START\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.\\\"org.drools.workbench.screens.scorecardxls.backend.server.ScoreCardXLSFileServlet\\\".WeldInstantiator\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.\\\"org.guvnor.common.services.backend.archive.ArchiveServlet\\\".START\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.\\\"org.guvnor.common.services.backend.archive.ArchiveServlet\\\".WeldInstantiator\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.\\\"org.guvnor.m2repo.backend.server.M2Servlet\\\".START\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.\\\"org.guvnor.m2repo.backend.server.M2Servlet\\\".WeldInstantiator\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.\\\"org.jboss.errai.bus.server.servlet.DefaultBlockingServlet\\\".START\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.\\\"org.jboss.errai.bus.server.servlet.DefaultBlockingServlet\\\".WeldInstantiator\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.\\\"org.jboss.errai.bus.server.servlet.StandardAsyncServlet$1\\\".START\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.\\\"org.jboss.errai.bus.server.servlet.StandardAsyncServlet$1\\\".WeldInstantiator\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.\\\"org.jboss.weld.servlet.WeldInitialListener\\\".START\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.\\\"org.jboss.weld.servlet.WeldInitialListener\\\".WeldInstantiator\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.\\\"org.jboss.weld.servlet.WeldTerminalListener\\\".START\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.\\\"org.jboss.weld.servlet.WeldTerminalListener\\\".WeldInstantiator\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.\\\"org.jbpm.bui.taglib.ImageResolverTag\\\".START\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.\\\"org.jbpm.bui.taglib.ImageResolverTag\\\".WeldInstantiator\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.\\\"org.jbpm.designer.web.server.TransformerServlet\\\".WeldInstantiator\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.\\\"org.jbpm.designer.web.server.UUIDBasedRepositoryServlet\\\".START\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.\\\"org.jbpm.designer.web.server.UUIDBasedRepositoryServlet\\\".WeldInstantiator\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.\\\"org.jbpm.designer.web.server.menu.MenuConnectorServlet\\\".START\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.\\\"org.jbpm.designer.web.server.menu.MenuConnectorServlet\\\".WeldInstantiator\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.\\\"org.jbpm.designer.web.server.menu.MenuServlet\\\".START\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.\\\"org.jbpm.designer.web.server.menu.MenuServlet\\\".WeldInstantiator\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.\\\"org.jbpm.designer.web.stencilset.impl.StencilSetServiceServlet\\\".START\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.\\\"org.jbpm.designer.web.stencilset.impl.StencilSetServiceServlet\\\".WeldInstantiator\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.\\\"org.jbpm.formModeler.service.bb.mvc.controller.ControllerServlet\\\".START\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.\\\"org.jbpm.formModeler.service.bb.mvc.controller.ControllerServlet\\\".WeldInstantiator\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.\\\"org.jbpm.formModeler.service.bb.mvc.taglib.ContextTag\\\".START\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.\\\"org.jbpm.formModeler.service.bb.mvc.taglib.ContextTag\\\".WeldInstantiator\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.\\\"org.jbpm.formModeler.service.bb.mvc.taglib.JSPIncludeTag\\\".START\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.\\\"org.jbpm.formModeler.service.bb.mvc.taglib.JSPIncludeTag\\\".WeldInstantiator\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.\\\"org.jbpm.formModeler.service.bb.mvc.taglib.PaneTag\\\".START\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.\\\"org.jbpm.formModeler.service.bb.mvc.taglib.PaneTag\\\".WeldInstantiator\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.\\\"org.jbpm.formModeler.service.bb.mvc.taglib.factory.BeanTag\\\".START\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.\\\"org.jbpm.formModeler.service.bb.mvc.taglib.factory.BeanTag\\\".WeldInstantiator\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.\\\"org.jbpm.formModeler.service.bb.mvc.taglib.factory.CurrentComponentTag\\\".START\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.\\\"org.jbpm.formModeler.service.bb.mvc.taglib.factory.CurrentComponentTag\\\".WeldInstantiator\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.\\\"org.jbpm.formModeler.service.bb.mvc.taglib.factory.EncodeTag\\\".START\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.\\\"org.jbpm.formModeler.service.bb.mvc.taglib.factory.EncodeTag\\\".WeldInstantiator\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.\\\"org.jbpm.formModeler.service.bb.mvc.taglib.factory.FormURLTag\\\".START\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.\\\"org.jbpm.formModeler.service.bb.mvc.taglib.factory.FormURLTag\\\".WeldInstantiator\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.\\\"org.jbpm.formModeler.service.bb.mvc.taglib.factory.HandlerTag\\\".START\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.\\\"org.jbpm.formModeler.service.bb.mvc.taglib.factory.HandlerTag\\\".WeldInstantiator\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.\\\"org.jbpm.formModeler.service.bb.mvc.taglib.factory.ParamTag\\\".START\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.\\\"org.jbpm.formModeler.service.bb.mvc.taglib.factory.ParamTag\\\".WeldInstantiator\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.\\\"org.jbpm.formModeler.service.bb.mvc.taglib.factory.PropertyTag\\\".START\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.\\\"org.jbpm.formModeler.service.bb.mvc.taglib.factory.PropertyTag\\\".WeldInstantiator\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.\\\"org.jbpm.formModeler.service.bb.mvc.taglib.factory.URLTag\\\".START\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.\\\"org.jbpm.formModeler.service.bb.mvc.taglib.factory.URLTag\\\".WeldInstantiator\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.\\\"org.jbpm.formModeler.service.bb.mvc.taglib.factory.UseComponentTag\\\".START\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.\\\"org.jbpm.formModeler.service.bb.mvc.taglib.factory.UseComponentTag\\\".WeldInstantiator\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.\\\"org.jbpm.formModeler.service.bb.mvc.taglib.formatter.FormatterParamTag\\\".START\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.\\\"org.jbpm.formModeler.service.bb.mvc.taglib.formatter.FormatterParamTag\\\".WeldInstantiator\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.\\\"org.jbpm.formModeler.service.bb.mvc.taglib.formatter.FormatterTag\\\".START\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.\\\"org.jbpm.formModeler.service.bb.mvc.taglib.formatter.FormatterTag\\\".WeldInstantiator\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.\\\"org.jbpm.formModeler.service.bb.mvc.taglib.formatter.FragmentTag\\\".START\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.\\\"org.jbpm.formModeler.service.bb.mvc.taglib.formatter.FragmentTag\\\".WeldInstantiator\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.\\\"org.jbpm.formModeler.service.bb.mvc.taglib.formatter.FragmentValueTag\\\".START\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.\\\"org.jbpm.formModeler.service.bb.mvc.taglib.formatter.FragmentValueTag\\\".WeldInstantiator\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.\\\"org.josql.contrib.JoSQLJSPQueryTag\\\".START\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.\\\"org.josql.contrib.JoSQLJSPQueryTag\\\".WeldInstantiator\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.\\\"org.kie.remote.services.rest.jaxb.DynamicJaxbContextFilter\\\".START\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.\\\"org.kie.remote.services.rest.jaxb.DynamicJaxbContextFilter\\\".WeldInstantiator\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.\\\"org.kie.remote.services.ws.command.CommandWebServiceImpl\\\".START\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.\\\"org.kie.remote.services.ws.command.CommandWebServiceImpl\\\".WeldInstantiator\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.\\\"org.uberfire.ext.plugin.backend.PluginMediaServlet\\\".START\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.\\\"org.uberfire.ext.plugin.backend.PluginMediaServlet\\\".WeldInstantiator\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.\\\"org.uberfire.ext.security.server.BasicAuthSecurityFilter\\\".START\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.\\\"org.uberfire.ext.security.server.BasicAuthSecurityFilter\\\".WeldInstantiator\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.\\\"org.uberfire.ext.security.server.LoginRedirectServlet\\\".START\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.\\\"org.uberfire.ext.security.server.LoginRedirectServlet\\\".WeldInstantiator\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.\\\"org.uberfire.ext.security.server.SecureHeadersFilter\\\".START\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.\\\"org.uberfire.ext.security.server.SecureHeadersFilter\\\".WeldInstantiator\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.\\\"org.uberfire.ext.security.server.SecurityIntegrationFilter\\\".START\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.\\\"org.uberfire.ext.security.server.SecurityIntegrationFilter\\\".WeldInstantiator\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.\\\"org.uberfire.server.FileDownloadServlet\\\".START\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.\\\"org.uberfire.server.FileDownloadServlet\\\".WeldInstantiator\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.\\\"org.uberfire.server.FileUploadServlet\\\".START\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".component.\\\"org.uberfire.server.FileUploadServlet\\\".WeldInstantiator\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".deploymentCompleteService\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".jndiDependencyService\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".moduleDeploymentRuntimeInformation\",
\"jboss.deployment.unit.\\\"jbpm-console.war\\\".moduleDeploymentRuntimeInformationStart\",
\"jboss.undertow.deployment.default-server.default-host./jbpm-console\",
\"jboss.undertow.deployment.default-server.default-host./jbpm-console.UndertowDeploymentInfoService\"
],
\"Services that may be the cause:\" => [
\"jboss.naming.context.java.JmsXA\",
\"jboss.naming.context.java.jboss.DefaultJMSConnectionFactory\",
\"jboss.ra.hornetq-ra\",
\"jboss.security.security-domain.other\"
]
}
}"
In Jboss server configuration folder standalone.xml and standalone-full.xml will be there. As default standalone.xml only configured it will give the basic features but standalone-full.xml will provide the services like JMS ,Queue, clustring.
Since jbpm want to access server queue and JMS part so we need run jboss server in standalone-full.xml mode.
Logs seem to indicate the war is still using "other" security domain:
\"jboss.security.security-domain.other\"

NetSuite Invoice Creation MLI_LOCATION_REQUIRED but invoice.location unsettable

Seems like most people are using the PHP Toolkit for NetSuite webservices interaction; I am not, but I'll paste the SOAP encoded request/response in the hopes someone can help (coughSuite Resourcescough).
I'm trying to create a new invoice with a single invoice item. I get the error:
Multi-location Inventory Error (MLI_LOCATION_REQUIRED): this transaction or its items must have locations.
However when I try to set the location on the invoice itself I get the error:
You do not have permissions to set a value for element location due to one of the following reasons: 1) The field is read-only; 2) An associated feature is disabled; 3) The field is available either when a record is created or updated, but not in both cases.
[1] pry(main)> invoice.add
D, [2014-12-19T16:47:19.997923 #13995] DEBUG -- : HTTPI GET request to webservices.sandbox.netsuite.com (net_http)
I, [2014-12-19T16:47:20.464235 #13995] INFO -- : SOAP request: https://webservices.sandbox.netsuite.com/services/NetSuitePort_2013_2
I, [2014-12-19T16:47:20.464378 #13995] INFO -- : SOAPAction: "add", Content-Type: text/xml;charset=UTF-8, Content-Length: 2568
D, [2014-12-19T16:47:20.464926 #13995] DEBUG -- : <?xml version="1.0" encoding="UTF-8"?>
<env:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:platformMsgs="urn:messages_2013_2.platform.webservices.netsuite.com" xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:platformCore="urn:core_2013_2.platform.webservices.netsuite.com" xmlns:platformCommon="urn:common_2013_2.platform.webservices.netsuite.com" xmlns:listRel="urn:relationships_2013_2.lists.webservices.netsuite.com" xmlns:tranSales="urn:sales_2013_2.transactions.webservices.netsuite.com" xmlns:actSched="urn:scheduling_2013_2.activities.webservices.netsuite.com" xmlns:setupCustom="urn:customization_2013_2.setup.webservices.netsuite.com" xmlns:listAcct="urn:accounting_2013_2.lists.webservices.netsuite.com" xmlns:tranBank="urn:bank_2013_2.transactions.webservices.netsuite.com" xmlns:tranCust="urn:customers_2013_2.transactions.webservices.netsuite.com" xmlns:tranInvt="urn:inventory_2013_2.transactions.webservices.netsuite.com" xmlns:listSupport="urn:support_2013_2.lists.webservices.netsuite.com" xmlns:tranGeneral="urn:general_2013_2.transactions.webservices.netsuite.com" xmlns:listMkt="urn:marketing_2013_2.lists.webservices.netsuite.com" xmlns:listWebsite="urn:website_2013_2.lists.webservices.netsuite.com" xmlns:fileCabinet="urn:filecabinet_2013_2.documents.webservices.netsuite.com" xmlns:listEmp="urn:employees_2013_2.lists.webservices.netsuite.com">
<env:Header>
<platformMsgs:passport>
<platformCore:email>[REDACTED]</platformCore:email>
<platformCore:password>[REDACTED]</platformCore:password>
<platformCore:account>[REDACTED]</platformCore:account>
<platformCore:role internalId="3"/>
</platformMsgs:passport>
</env:Header>
<env:Body>
<platformMsgs:add>
<platformMsgs:record xsi:type="tranSales:Invoice">
<tranSales:email>[REDACTED]</tranSales:email>
<tranSales:isTaxable>false</tranSales:isTaxable>
<tranSales:entity internalId="26017" externalId="[REDACTED]" type="customer"/>
<tranSales:itemList>
<tranSales:item>
<tranSales:item internalId="152"/>
<tranSales:line>1</tranSales:line>
<tranSales:orderLine>1</tranSales:orderLine>
<tranSales:amount>313</tranSales:amount>
<tranSales:location internalId="1" type="location"/>
<tranSales:revRecStartDate>2014-12-01T08:13:00.000Z</tranSales:revRecStartDate>
<tranSales:revRecEndDate>2015-12-01T08:13:00.000Z</tranSales:revRecEndDate>
</tranSales:item>
</tranSales:itemList>
</platformMsgs:record>
</platformMsgs:add>
</env:Body>
</env:Envelope>
D, [2014-12-19T16:47:20.465337 #13995] DEBUG -- : HTTPI POST request to webservices.sandbox.netsuite.com (net_http)
I, [2014-12-19T16:47:23.786293 #13995] INFO -- : SOAP response (status 200)
D, [2014-12-19T16:47:23.786660 #13995] DEBUG -- : <?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Header>
<platformMsgs:documentInfo xmlns:platformMsgs="urn:messages_2013_2.platform.webservices.netsuite.com">
<platformMsgs:nsId>WEBSERVICES_[REDACTED]_121920141668433096579618905_1be2c0a823e5</platformMsgs:nsId>
</platformMsgs:documentInfo>
</soapenv:Header>
<soapenv:Body>
<addResponse xmlns="urn:messages_2013_2.platform.webservices.netsuite.com">
<writeResponse>
<platformCore:status xmlns:platformCore="urn:core_2013_2.platform.webservices.netsuite.com" isSuccess="false">
<platformCore:statusDetail type="ERROR">
<platformCore:code>MLI_REQD</platformCore:code>
<platformCore:message>Multi-location Inventory Error (MLI_LOCATION_REQUIRED): this transaction or its items must have locations.</platformCore:message>
</platformCore:statusDetail>
<platformCore:statusDetail type="WARN">
<platformCore:code>WARNING</platformCore:code>
<platformCore:message>Fake Billing Line Item: You have only 0 available across all locations (0 back ordered, 0 on order).</platformCore:message>
</platformCore:statusDetail>
</platformCore:status>
</writeResponse>
</addResponse>
</soapenv:Body>
</soapenv:Envelope>
=> false
[2] pry(main)> invoice.location = ottawa
=> #<NetSuite::Records::Location:0x007fca96a5eea8
#attributes=
{:name=>"Ottawa",
:is_inactive=>false,
:addressee=>"Ottawa",
:addr1=>"[REDACTED]",
:city=>"Ottawa",
:state=>"ON",
:zip=>"[REDACTED]",
:country=>"_canada",
:addr_text=>"Ottawa\n[REDACTED]\nOttawa ON [REDACTED]",
:override=>false,
:make_inventory_available=>false},
#external_id=nil,
#internal_id="1">
[3] pry(main)> invoice.add
D, [2014-12-19T16:48:03.626321 #13995] DEBUG -- : HTTPI GET request to webservices.sandbox.netsuite.com (net_http)
I, [2014-12-19T16:48:04.090118 #13995] INFO -- : SOAP request: https://webservices.sandbox.netsuite.com/services/NetSuitePort_2013_2
I, [2014-12-19T16:48:04.090331 #13995] INFO -- : SOAPAction: "add", Content-Type: text/xml;charset=UTF-8, Content-Length: 2640
D, [2014-12-19T16:48:04.090841 #13995] DEBUG -- : <?xml version="1.0" encoding="UTF-8"?>
<env:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:platformMsgs="urn:messages_2013_2.platform.webservices.netsuite.com" xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:platformCore="urn:core_2013_2.platform.webservices.netsuite.com" xmlns:platformCommon="urn:common_2013_2.platform.webservices.netsuite.com" xmlns:listRel="urn:relationships_2013_2.lists.webservices.netsuite.com" xmlns:tranSales="urn:sales_2013_2.transactions.webservices.netsuite.com" xmlns:actSched="urn:scheduling_2013_2.activities.webservices.netsuite.com" xmlns:setupCustom="urn:customization_2013_2.setup.webservices.netsuite.com" xmlns:listAcct="urn:accounting_2013_2.lists.webservices.netsuite.com" xmlns:tranBank="urn:bank_2013_2.transactions.webservices.netsuite.com" xmlns:tranCust="urn:customers_2013_2.transactions.webservices.netsuite.com" xmlns:tranInvt="urn:inventory_2013_2.transactions.webservices.netsuite.com" xmlns:listSupport="urn:support_2013_2.lists.webservices.netsuite.com" xmlns:tranGeneral="urn:general_2013_2.transactions.webservices.netsuite.com" xmlns:listMkt="urn:marketing_2013_2.lists.webservices.netsuite.com" xmlns:listWebsite="urn:website_2013_2.lists.webservices.netsuite.com" xmlns:fileCabinet="urn:filecabinet_2013_2.documents.webservices.netsuite.com" xmlns:listEmp="urn:employees_2013_2.lists.webservices.netsuite.com">
<env:Header>
<platformMsgs:passport>
<platformCore:email>[REDACTED]</platformCore:email>
<platformCore:password>[REDACTED]</platformCore:password>
<platformCore:account>[REDACTED]</platformCore:account>
<platformCore:role internalId="3"/>
</platformMsgs:passport>
</env:Header>
<env:Body>
<platformMsgs:add>
<platformMsgs:record xsi:type="tranSales:Invoice">
<tranSales:email>[REDACTED]</tranSales:email>
<tranSales:isTaxable>false</tranSales:isTaxable>
<tranSales:entity internalId="26017" externalId="[REDACTED]" type="customer"/>
<tranSales:itemList>
<tranSales:item>
<tranSales:item internalId="152"/>
<tranSales:line>1</tranSales:line>
<tranSales:orderLine>1</tranSales:orderLine>
<tranSales:amount>313</tranSales:amount>
<tranSales:location internalId="1" type="location"/>
<tranSales:revRecStartDate>2014-12-01T08:13:00.000Z</tranSales:revRecStartDate>
<tranSales:revRecEndDate>2015-12-01T08:13:00.000Z</tranSales:revRecEndDate>
</tranSales:item>
</tranSales:itemList>
<tranSales:location internalId="1" type="location"/>
</platformMsgs:record>
</platformMsgs:add>
</env:Body>
</env:Envelope>
D, [2014-12-19T16:48:04.091365 #13995] DEBUG -- : HTTPI POST request to webservices.sandbox.netsuite.com (net_http)
I, [2014-12-19T16:48:05.738270 #13995] INFO -- : SOAP response (status 200)
D, [2014-12-19T16:48:05.738785 #13995] DEBUG -- : <?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Header>
<platformMsgs:documentInfo xmlns:platformMsgs="urn:messages_2013_2.platform.webservices.netsuite.com">
<platformMsgs:nsId>WEBSERVICES_[REDACTED]_121920141668476805866012724_a7c7c427c826</platformMsgs:nsId>
</platformMsgs:documentInfo>
</soapenv:Header>
<soapenv:Body>
<addResponse xmlns="urn:messages_2013_2.platform.webservices.netsuite.com">
<writeResponse>
<platformCore:status xmlns:platformCore="urn:core_2013_2.platform.webservices.netsuite.com" isSuccess="false">
<platformCore:statusDetail type="ERROR">
<platformCore:code>INSUFFICIENT_PERMISSION</platformCore:code>
<platformCore:message>You do not have permissions to set a value for element location due to one of the following reasons: 1) The field is read-only; 2) An associated feature is disabled; 3) The field is available either when a record is created or updated, but not in both cases.</platformCore:message>
</platformCore:statusDetail>
</platformCore:status>
</writeResponse>
</addResponse>
</soapenv:Body>
</soapenv:Envelope>
=> false
[4] pry(main)>
Looking at the "invoice.location" JSON Data ([2] pry(main)> invoice.location = ottawa) posted in your question, i see you have "make_inventory_available" field set as false on the Location Record inside of NetSuite.
Could you try the below and let me know if it works:
In NetSuite User Interface, Navigate to Setup -> Company -> Locations (under Classifications).
Edit the Location with Internal Id "1" i.e. "Ottawa".
Set the Checkbox Field "MAKE INVENTORY AVAILABLE" to true.
Now try performing the invoice.add operation by setting the location field on Item Level as posted in your first soap xml request ([1] pry(main)> invoice.add).

Resources